有时,在shell脚本中,我看到
echo yes 1>&5我明白它会重定向到某个地方,但我想知道更多细节。
更具体地说,1,>,&,5是什么意思?
如果你能象征性地解释它们,我将不胜感激。
或者任何解释的指针。
发布于 2012-08-15 02:34:06
在网上搜索的时候,我发现了这个。
n>&m means redirect FD n to the same places as FD m. Eg, 2>&1 means send STDERR to the same place that STDOUT is going to.
STDIN is FD 0, while STDOUT is FD 1, and STDERR is FD 2参考文献:http://www.linuxsa.org.au/tips/io-redirection.html
文件描述符5有时被使用是因为它是从来没有真正用于其他任何事情的最低编号的文件描述符(FD 4是一些非常老的Unix上的/dev/tty,fd3在另一个Unix中有各种各样的、非标准的、系统专用的)。尽管在超过20年的时间里,3或4都没有被使用过,但可能只是巧合(或传统),你已经注意到FD 5出现了。
参考文献:http://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.69/html_节点/文件-Descriptors.html
至于使用它的原因。通过使用文件描述符,脚本编写器避免了实际写入文件的需要,这样可以节省他的时间,并使脚本更清晰(不可能意外地留在文件中)。此外,它允许您通过将流重定向到不同的位置来完成所有酷的事情,等等。
https://askubuntu.com/questions/175952
复制相似问题