我只是想知道这个问题: 如果我可以使用类似“ls -al | less”的东西,则应该具有等待stdin输入的能力。我期望发生的是在运行“less”命令后,程序挂断并等待输入(因为调用gets()或类似的东西。)
但是为什么它实际上显示错误消息“缺少文件名(”少 - 帮助“帮助)”结束退出?
谢谢。
答案 0 :(得分:2)
less
命令可以检查argc>1
和stdin
是否与文件(不是tty)相关联。
答案 1 :(得分:0)
较少的命令不是设计的。在bash中执行命令时,它将立即显示所有信息。 less命令用于一次显示命令的STDOUT或文件内容。
答案 2 :(得分:0)
$ 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
手册将文件名描述为可选。
诊断问题的提示: