我只是想知道这个问题: 如果我可以使用诸如“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