我制作了一个快速的小脚本 test.sh,如下所示:
echo "StdErr" > /dev/stderr
echo "StdOut" > /dev/stdout
根据这个SO question和Advanced Bash-Scripting Guide的答案,以下内容应将 stderr 从上面的脚本重定向到 stdout:
$ sh /tmp/test.sh 2>&1
确实如此:
$ sh /tmp/test.sh 2>&1 |tee file;
$ cat file
StdErr
StdOut
我想知道的问题是 stderr 的输出在以下代码中的位置?
$ sh /tmp/test.sh > file 2>&1
$ cat file
StdOut
我正在使用 GNU bash,版本 4.0.24(2)-release。