调试Shell程序全攻略
调试Shell程序的必要性与挑战
在编程领域,拥有强大的支持工具对于高效开发至关重要。像C和C++这类语言,有各种各样的编辑器、编译器、调试器、性能分析器等工具。然而,对于bash编程来说,虽然可以使用如vi和emacs等编辑器,且由于shell是解释型语言,不需要编译器,但其他调试工具却相对匮乏。
基本调试辅助手段
调试程序时,关键在于找出导致程序异常的原因以及问题在代码中的位置。这通常是一个从明显信息入手,逐步推导到隐藏问题的过程。调试辅助工具能帮助我们更轻松地获取相关信息,理想情况下还无需修改代码。
输出语句(echo)
这是最简单的调试方法,在任何编程语言中都可使用。在shell里,就是使用echo语句。例如,老程序员会通过在FORTRAN代码中插入WRITE卡片来调试。在shell脚本中,你可以添加大量的echo语句来输出信息,但这种方法需要花费大量时间确定要输出的具体信息和位置,并且可能会产生大量无用输出。
set选项
shell有一些基本特性,能提供比echo更强大的调试功能,主要是set -o命令的选项,这些选项也可在命令行运行脚本时使用,具体如下表所示:
| set -o option | Command-line option | Action |
| — | — | — |
| noexec | -n | 不运行命令,仅检查语法错误 |
| verbose | -v | 运行命令前回显命令 |
| xtrace | -x | 命令行处理后回显命令 |
超级会员免费看
订阅专栏 解锁全文
4

被折叠的 条评论
为什么被折叠?



