Bash脚本:产生错误的日​​志命令?

时间:2016-10-09 12:34:36

标签: bash error-handling error-logging

我正在为我的bash脚本开展最佳实践。在每个文件的顶部,我输入以下内容,以便在任何命令产生错误时退出:

set -o errexit

问题是它对调试没有帮助。我正在寻找一种记录命令失败的方法(即运行的命令和参数),以及错误发生在哪一行,以及在哪个文件中。

这样做的好方法是什么?例如,每个bash脚本顶部的一小组命令?也许有一个用于所有脚本的中央文件来记录这些错误?这些命令可能是什么?

此外,将它放在需要它的每个脚本中是一个好主意吗?或者单个文件是否应该source到每个需要它的脚本中?或者可能有不同的方式?

1 个答案:

答案 0 :(得分:1)

你几乎没有选择:

  • 在script.sh文件的顶部使用:#!/bin/bash -x
  • 在script.sh
  • 中使用set -x选项
  • 从命令行使用-x:bash -x script.sh