我有一个看起来像这样的脚本:
ruby foo.rb > log.out 2> error.log < /dev/null &
在这种情况下,我知道 STDOUT 正在重定向到 log.out,而 2> 正在将 STDERR 文件描述符重定向到 error.log。在这里让我感到困惑的是 STDERR 重定向到 error.log 之后发生的事情是< /dev/null
例外。这里重定向的到底是什么error.log
,是 STDERR 还是 /dev/null?
我有一个看起来像这样的脚本:
ruby foo.rb > log.out 2> error.log < /dev/null &
在这种情况下,我知道 STDOUT 正在重定向到 log.out,而 2> 正在将 STDERR 文件描述符重定向到 error.log。在这里让我感到困惑的是 STDERR 重定向到 error.log 之后发生的事情是< /dev/null
例外。这里重定向的到底是什么error.log
,是 STDERR 还是 /dev/null?
在这种特定情况下,
<
指示 INPUT 重定向。所以ruby
命令的输入来自/dev/null
(即没有输入)。