让我们考虑一下shell脚本中有很多系统命令,每个命令都会将一些内容返回给stdout或stderr。
有没有办法将shell脚本生成的所有stdout或stderr重定向到日志文件,而不是单独为每个命令执行重定向?
答案 0 :(得分:3)
显而易见的解决方案是使用
./scriptfile.sh > foo.log
因此使用脚本文件生成的所有stdout都转到foo.log
然而,我想,你的问题是针对一个解决方案,该解决方案可以通过脚本来实现。 您可以使用exec命令(重新)将文件描述符定向到给定文件(以下代码段中的第2行将stdout重定向到foo.log):#!/bin/sh
exec 1>>foo.log
echo blue
echo blart