0

让我们考虑一下 shell 脚本中有许多系统命令,每个命令都将一些内容返回到 stdout 或 stderr。

有没有办法将所有从 shell 脚本生成的 stdout 或 stderr 重定向到日志文件,而不是分别对每个命令执行重定向?

4

1 回答 1

3

显然简单的解决方案是使用

./scriptfile.sh > foo.log

因此使用脚本文件生成的所有标准输出都转到 foo.log

但是,我想您的问题是针对使用脚本的解决方案。您可以使用 exec 命令(重新)将文件描述符定向到给定文件(以下代码段中的第 2 行会将 stdout 重定向到 foo.log):

#!/bin/sh
exec 1>>foo.log

echo blue
echo blart
于 2012-11-06T07:55:37.787 回答