在我的Ubuntu引擎上设计一个简单的基于shell / bash的备份脚本并使其工作后,我将它上传到我的Debian服务器,它在执行时输出了许多错误。
如何在我的Ubuntu机器中打开“错误处理”以便于调试?
答案 0 :(得分:2)
-v
或-x
或两者您可能还希望将错误命令的结果(尤其是在cron(8)
运行时)传递到/bin/logger
,可能是这样的:
sh -v -x badscript 2>&1 | /bin/logger -t badscript
然后查看/ var / log / messages。
答案 1 :(得分:2)
Bash允许您有选择地或完全使用set
命令打开调试。这是关于如何调试bash脚本的good reference。
命令set -x
将打开脚本中的任何位置的调试。同样,set +x
会再次将其关闭。如果您只想查看脚本部分的调试输出,这非常有用。
答案 2 :(得分:1)
更改shebang行以包含跟踪选项:
#!/bin/bash -x
您也可以让Bash扫描文件以查找错误而不运行它:
$ bash -n scriptname