Content #
可以将STDERR和STDOUT的输出重定向到同一个文件。为此,bash shell提供了特殊的重定向符&>:
$ ls -al test test2 test3 badtest &> test7
$ cat test7
ls: cannot access test: No such file or directory
ls: cannot access badtest: No such file or directory
-rw-rw-r-- 1 rich rich 158 2020-06-20 11:32 test2
-rw-rw-r-- 1 rich rich 0 2020-06-20 11:33 test3
$
当使用&>时,命令生成的所有输出(正常输出和错误消息)会被送往同一位置。
注意,其中一条错误消息出现的顺序和预想不同。badtest文件(列出的最后一个文件)的这条错误消息出现在了输出文件的第二行。
为了避免错误消息散落在输出文件中,相较于标准输出,bash shell自动赋予了错误消息更高的优先级。这样你就能集中浏览错误消息了。
From #
Linux命令行与shell脚本编程大全