4

我只是想知道这个问题:如果我可以使用“ls -al | less”之类的东西,那么less 应该能够等待来自标准输入的输入。我期望发生的是在运行“less”命令后,程序挂起并等待输入(由于调用 gets() 或类似的东西。)

但为什么实际上它显示错误消息“缺少文件名(“less --help”寻求帮助)”结束退出?

谢谢你。

4

3 回答 3

3

less命令可以同时检查两者argc>1stdin与文件(不是 tty)相关联。

于 2013-03-28T00:40:45.383 回答
0

less 命令不是在这个问题上设计的。当您在 bash 中执行命令时,它将一次显示所有信息。less 命令用于一次一屏显示命令的 STDOUT 或文件的内容。

于 2013-03-28T00:40:15.863 回答
-1
$ 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

该手册将文件名描述为可选。

诊断问题的提示:

  • 尝试别名 | grep less,查看命令是否被修改
  • 尝试设置 | grep LESS,并检查LESSCLOSE 和LESSOPEN 正在运行的脚本
于 2013-03-28T00:56:14.600 回答