0

运行类似下面的内容会导致文本文件行被定向到 program.sh 的 STDIN 吗?

cat textfile | program.sh 
4

3 回答 3

1

是的。您正在将标准输出cat写入program.sh. 因为cat除了读取文件之外没有做太多,你也可以把它写成:

program.sh < textfile

...它做同样的事情

从技术角度来说,stdin 是通过文件描述符 0 访问的,而 stdout 是文件描述符 1,stderr 是文件描述符 2。有了这些信息,您可以进行更复杂的重定向,例如将 stderr 重定向到同一个地方(或不同的地方) !)而不是标准输出。有关重定向的备忘单,请参阅 Peteris Krumins 的Bash Redirections Cheat Sheet

于 2013-10-17T23:10:56.847 回答
1

是的; 这个答案的其余部分满足了 SO 的要求,即每个答案至少 30 个字符(不包括链接)。

http://en.wikipedia.org/wiki/Pipeline_(Unix)

于 2013-10-17T23:00:00.413 回答
0

是的。

您正在sort对文本文件运行命令。输出到program.sh

于 2013-10-17T22:59:34.867 回答