运行类似下面的内容会导致文本文件行被定向到 program.sh 的 STDIN 吗?
cat textfile | program.sh
是的。您正在将标准输出cat
写入program.sh
. 因为cat
除了读取文件之外没有做太多,你也可以把它写成:
program.sh < textfile
...它做同样的事情。
从技术角度来说,stdin 是通过文件描述符 0 访问的,而 stdout 是文件描述符 1,stderr 是文件描述符 2。有了这些信息,您可以进行更复杂的重定向,例如将 stderr 重定向到同一个地方(或不同的地方) !)而不是标准输出。有关重定向的备忘单,请参阅 Peteris Krumins 的Bash Redirections Cheat Sheet。
是的; 这个答案的其余部分满足了 SO 的要求,即每个答案至少 30 个字符(不包括链接)。
是的。
您正在sort
对文本文件运行命令。输出到program.sh