1. shell调试选项
语法 : sh [-n] [-x] [-v] Sctipt.sh
参数说明:
-n: 检查shell脚本是否有语法错误。只读取shell脚本,但不执行
-x :提供跟踪执行信息,将执行的每一条命令,
每一个变量的值和结果一次打印出来
-v: 一边执行脚本,一边将执行过的脚本命令打印到标准错误输出
使用方法:
(1)检查脚本语法是否存在错误。调用语法:sh -n ${脚本文件名}
$ sh -n Myscript.sh
还有一种常用的方法。就是将shebang从#!/bin/bash改成#!/bin/bash -xv。这样就可以不用任何其他选项就可以启用调试功能。
2、echo/printf输出调试方法
在认为可能有问题的代码前后使用echo/printf打印出变量值。特别是变量在用作判断条件情况
#!/bin/bash
#echo "The variable num equal:$num"
if [ $num -eq 5 ];then
echo "The number equal to 5" #假设这条语句没有输出,就把变量num值打出来看看
else
echo "The number not equal to 5"
fi
3、set -x和set +x调试方法
shell的执行选项除了可以在启动shell时指定外,也可以在脚本中用set命令来指定。 "set -参数"表示启用某选项,“set +参数"表示关闭某选项。有时候我们并不需要在启动时用”-x"选项来跟踪所有的命令行,这时我们可以在脚本中使用set -x和set +x对脚本进行部分调试。如以下脚本片段所示:
执行结果输出如下:
参考文章:参考文章shell调试技术