我只是想知道這個問題: 如果我可以使用諸如「ls -al | less」之類的東西,少一些應該有能力等待來自stdin的輸入。我期望發生的是在運行「less」命令之後,程序掛起並等待輸入(作爲調用gets()或類似的結果)。「less」命令如何獲得stdin輸入?
但是爲什麼事實上它顯示了一條錯誤消息「缺少文件名(「less --help」尋求幫助)「結束退出?
謝謝。
我只是想知道這個問題: 如果我可以使用諸如「ls -al | less」之類的東西,少一些應該有能力等待來自stdin的輸入。我期望發生的是在運行「less」命令之後,程序掛起並等待輸入(作爲調用gets()或類似的結果)。「less」命令如何獲得stdin輸入?
但是爲什麼事實上它顯示了一條錯誤消息「缺少文件名(「less --help」尋求幫助)「結束退出?
謝謝。
less
命令可以檢查argc>1
和stdin
與文件(而不是tty)關聯。
less命令不是在這個問題上設計的。當你在bash中執行命令時,它會一次顯示所有的信息。 less命令用於一次顯示一個命令的STDOUT或一個文件的內容。
$ ls -al | less
total 16
drwxrwxr-x 4 hdante hdante 4096 Nov 24 17:11 .
drwxr-xr-x 88 hdante hdante 4096 Mar 24 22:14 ..
drwxrwxr-x 2 hdante hdante 4096 Nov 25 01:55 new
drwxrwxr-x 3 hdante hdante 4096 Nov 24 18:27 old
(END)
它的工作原理。你少了點事情是不對的。從少手冊頁:
http://www.linuxmanpages.com/man1/less.1.php https://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/less.1.html
本手冊介紹了文件名作爲可選。
提示診斷您的問題:
沒有那個錯誤信息是幾乎沒有運行「少」的結果。我沒有說清楚... – babel92 2013-03-28 00:59:42
也見相關問題http://stackoverflow.com/questions/1441251/less-gets-keyboard-input-from-stderr/1441368#1441368 – 2013-09-06 13:23:56