【问题标题】:Append output from both stdout and stderr of every command of a bash script to file将 bash 脚本的每个命令的 stdout 和 stderr 的输出附加到文件中
【发布时间】:2016-11-28 15:44:57
【问题描述】:

这里

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

我学会了如何为单个命令执行此操作 cmd 将输出附加到 file.txt

cmd >>file.txt 2>&1

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

而且我想避免将>>file.txt 2>&1 附加到每一行。

是否有一个指令让我在默认情况下为每个后续命令执行此操作?


旁注:我正在寻找一种也适用于 MacOs X 的 bash 的解决方案

【问题讨论】:

  • 你可以使用 heredocs 或 subshel​​ls

标签: bash macos redirect stdout stderr


【解决方案1】:

在您的脚本之上,您可以像这样使用exec

#!/bin/bash

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

# script starts here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-05
    • 2016-03-29
    • 1970-01-01
    • 2021-08-19
    • 1970-01-01
    相关资源
    最近更新 更多