以前写脚本,经常会把不同的命令的结果重定向到同一个文件。那时候很傻地每次用
command1 >> $LOG 2>&1
command2 >> $LOG 2>&1
这样的方式。打字真是不嫌累啊。
今天看advanced bash-scripting guide,学到新的一招。
{
command1
command 2
.
.
command n
} > $LOG 2>&1
这样的话,可以把大括号{}里所有的命令的结果,包括错误信息,全部重定向到$LOG里,虽然这里用的是>,但是不用担心前面的命令的结果被后面命令的结果覆盖。不过把>替换成>>也可以。