2011-03-08 24 views
8

我希望能夠使用箭頭鍵,當我從php cli腳本管道輸出變得更少。目前PHP CLI做一些事情,當你少內執行當從cli php腳本管道輸入時,我如何獲得更少或更多的識別擊鍵?

!stty sane 

這隻能是固定的TTY,這是一個正確的痛苦!

,我發現這個問題的參考@http://www.php.net/manual/en/features.commandline.php#90743但我似乎無法找到:-)

任何幫助的答案是讚賞,但遠遠低於這個問題位列許多其他問題;-)

回答

8

我一直在尋找一些調整來做到這一點。現在我最好的解決方法是:

php blah.php </dev/null | less 

它具有所需的效果,但是皮塔必須鍵入。看起來,當PHP CLI檢測到stdin是一個tty時,它會將該tty放入linemode。

+0

我認爲這是一個非常可以接受的解決方案,因爲,雖然這是一個皮塔餅,它也很容易記住:-) – Michiel 2011-05-20 09:14:47

+1

你不能只是做'PHP kojiro 2013-05-31 11:43:34

2

如果您將exec('stty cbreak');添加到您的cli腳本中,它會修復此問題。 (至少,它確實對我來說,修改drush.php這一點。)

+0

只看到了這個答案 - 它看起來只是我正在尋找的東西 - 謝謝! – Michiel 2011-08-24 08:20:23

+0

我在這裏添加了一些更多的細節:http://stackoverflow.com/a/20341430/943279 它可能是一個PHP的錯誤,我包括我的版本信息,我有問題,我沒有在情況下它確實是一個PHP錯誤。 – 2013-12-03 01:57:52

0

這是稍微更可讀的(對我)的另一種選擇是:

less -f <(php whatevz.php) 

嘗試管道輸出時,這也很有用PHP的信息標誌:

less -f <(php -i) 
相關問題