我只是想知道这个问题:如果我可以使用“ls -al | less”之类的东西,那么less 应该能够等待来自标准输入的输入。我期望发生的是在运行“less”命令后,程序挂起并等待输入(由于调用 gets() 或类似的东西。)
但为什么实际上它显示错误消息“缺少文件名(“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
该手册将文件名描述为可选。
诊断问题的提示: