将bash脚本的每个命令的stdout和stderr的输出附加到文件

时间:2016-11-28 15:44:57

标签: bash macos redirect stdout stderr

下面

https://stackoverflow.com/a/876267/1579327

我学会了如何将单个命令cmd附加到file.txt

的输出
cmd >>file.txt 2>&1

但我的脚本包含许多语句和命令。

我希望避免将>>file.txt 2>&1附加到每一行。

是否有指令允许我默认为每个后续命令执行此操作?

旁注:我正在寻找适合MacOs X's bash的解决方案

1 个答案:

答案 0 :(得分:3)

在您的脚本之上,您可以使用exec,如下所示:

#!/bin/bash

# append stdout/stderr to a file
exec >> file.log 2>&1

# script starts here