调试Shell程序
以下介绍Shell脚本编写过程中的一般错误和程序的调试与跟踪方法。
常见的一般错误
- 输入错误:如输入了错误的关键字、成对的符号漏输入一部分等。
- 字符大小写:在Linux中,对大小写字符是严格区分的,输入时需要注意。所有关键字都是使用小写字母来表示的,建议变量名使用大写字母组合来表示。
- 循环错误:由于Shell中的循环控制语句与一般高级程序设计语言有所不同,输入结构时容易出错。
调试跟踪
1.-n选项
bash命令的“ -n
”选项使Shell不执行脚本,仅检查脚本中的语法问题。
示例:
先改一个错误出来:
vim contact.sh
下图是完整代码,把框出来的引号删掉,保存退出:
然后利用-n检测:
sh -n contact.sh
打开文件重新加上后,再用-n检查,没有任何提示了
2.-v选项
bash命令的“-v
”选项使Shell在执行程序过程中,将读入的每一个命令行都原样输出到终端。
示例:
还是上面的contact.sh文件,里面有三条命令
执行:
sh -v contact.sh
上图红框的都是原命令,因为执行过了,就原样输出
3.-x选项
bash命令的“-x
”选项使Shell在执行程序过程中,把执行的每一个命令在行首用一个“+
”号加上对应的命令显示在终端上,并把每一个变量和该变量的值也显示出来。使用该选项更方便跟踪程序的执行过程。
示例:
sh -x contact.sh
上图,红框是加号和原命令,蓝框是显示变量的值