【发布时间】:2013-03-28 00:34:53
【问题描述】:
我只是想知道这个问题: 如果我可以使用“ls -al | less”之类的东西,less 应该能够等待来自标准输入的输入。我期望发生的是在运行“less”命令后,程序挂起并等待输入(由于调用 gets() 或类似的东西。)
但为什么实际上它显示错误消息“缺少文件名(“less --help”寻求帮助)”结束退出?
谢谢。
【问题讨论】:
标签: linux bash shell pipe less-unix
我只是想知道这个问题: 如果我可以使用“ls -al | less”之类的东西,less 应该能够等待来自标准输入的输入。我期望发生的是在运行“less”命令后,程序挂起并等待输入(由于调用 gets() 或类似的东西。)
但为什么实际上它显示错误消息“缺少文件名(“less --help”寻求帮助)”结束退出?
谢谢。
【问题讨论】:
标签: linux bash shell pipe less-unix
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
手册将文件名描述为可选。
诊断问题的提示:
【讨论】: