调试Shell程序全攻略
1. 调试的基本需求
调试程序时,我们最需要确定的是导致程序表现异常的原因,以及问题在代码中的具体位置。通常,我们从明显的异常现象入手,比如错误消息、不恰当的输出、无限循环等,然后逐步回溯,找到更接近实际问题的原因,例如变量值错误、命令选项错误等,最终定位到程序中问题的确切位置,之后再考虑如何修复。
调试辅助工具能让我们更轻松地推导和直观判断问题,它们可以轻松甚至自动地提供相关信息,而且最好无需修改代码。
2. 简单的调试辅助手段:echo语句
对于任何语言来说,最简单的调试辅助手段就是输出语句。在Shell中,就是 echo 语句。过去的程序员会通过在FORTRAN代码中插入WRITE卡片来调试程序。我们也可以在代码中添加大量的 echo 语句进行调试,之后再将其移除。但这种方法存在一些问题,我们不仅需要花费大量时间确定想要的具体信息,还需要确定在何处查看这些信息,而且可能要在大量的输出中寻找真正需要的信息。
3. set命令选项调试
幸运的是,Shell有一些基本特性,能提供比 echo 更强大的调试功能。其中最基本的是 set -o 命令的选项,这些选项也可以在运行脚本时在命令行中使用,具体如下表所示:
| set -o option | Command-line option | Action |
| — | — | — |
| noexec | -n | 不运行命令,仅检查语法错误 |
| verbose | -v |
超级会员免费看
订阅专栏 解锁全文
4

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



