2012-11-22 66 views

回答

6

>是I/O重定向;它将该命令的标准输出(./proj33)发送到文件pipe33b

<符号也是I/O重定向;它从文件pipe33b发送命令的标准输入(./proj33)。

-只是一个参数。它通常被命令视为读取标准输入而不是文件的指示。在这种情况下,proj33通常需要一个文件作为其第一个参数,但当参数为-时,它会从管道读取数据。有时,-用于指示标准输出。在极端情况下,您可以通过一个命令获得一个-指示标准输入和一个指示标准输出。使用GNU tar,您可以将tar -c -f - -T -的输出写入标准输出(-f -),并从标准输入(-T -)读取要归档的文件列表。

如果你看到--,那是非常不同的;它表示命令的'选项结束';以下任何内容都不是一种选择,即使它以破折号-开头。

+0

所以假设我有一个名为x.txt的文件,并且我写了这个命令echo x.txt | cat - ,为什么不输入x.txt文件的内容? – Vanddel

+0

因为'echo'简单地回应它的参数,所有这些都在一行上,用空格分隔。 'cat -'读取它在标准输入上发送的内容并将其复制到标准输出。你需要'cat x.txt'或类似'nextcmd