脚本的追踪与debug
当我们写完一个脚本时,往往需要先进行语法测试,期待结果验证之后,才会真正的去生产环境下执行,那么shell script如何debug呢。
bash命令的debug选项
| 选项 | 作用 |
|---|---|
| -n | 不执行脚本,只检查语法问题 |
| -v | 在执行脚本之前,先将脚本的内容输出到控制台 |
| -x | 将使用到的脚本内容,显示到屏幕上,(将脚本执行过程中的信息,输出到屏幕,并且,会将变量的值输出,而不是变量名称,很强大,很常用) |
接下来我们 将之前写过的demo稍作改写,(由于之前的范围太大不方便观看,所以呢,我们将循环范围缩小到1-10)
#!/bin/bash
# Program:
# show the basic use of for loop
# History:
# 2019/10/24 Shuu First release
#for var in $(seq 1 100)
#for var in {1..100}
#for (( var=1;var<=100;var++ ))
for (( var=1;var<=10;var++ ))
do
let sum+=${var}
done
echo ${sum}
-n检查语法问题
如若没有语法问题,则不会输出任何信息。
注:这里用的为什么是sh而不是bash呢,之前也说过,这里再提一句,因为sh其实就是bash的一个连接而已。

我们稍作改动,让语法发生错误,比如我们将for循环的 结束关键字done注释掉
for (( var=1;var<=10;var++ ))
do
let sum+=${var}
#done
echo ${sum}

看看,检验出来语法错误了。
-v在脚本执行前,先将所有内容输出到屏幕

看看,结果与上面的-n相比,只是在报告脚本检验结果之前,先输出了脚本的内容。(包含头信息和注释)
-x强大的debug功能

看,脚本的执行过程,完全被显示在了屏幕上,这样可以方便我们进行逻辑跟踪,帮助我们进行debug调试。
本文详细介绍了使用bash命令的debug选项进行Shell脚本调试的方法,包括语法检查、脚本内容预览及执行过程跟踪,帮助开发者高效定位并解决脚本问题。
2468

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



