符号是什么 - ,<和>意思?

时间:2012-11-22 02:09:38

标签: linux bash unix pipe

我在一本书中读到了这个例子:

 cp /bin/cat proj33
 echo -n x | ./proj33 - pipe33a > pipe33b &
./proj33 <pipe33b >pipe33a &

符号-><是什么意思?

1 个答案:

答案 0 :(得分:6)

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

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

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

如果你看到--,那就非常不同了;它表示命令的“选项结束”;任何后面的内容都不是一个选项,即使它以短划线-开头。