可以使用set命令的x选项,显示所有命令执行及变量值的变化过程等。
具体使用方法:首先使用set -x开启调试模式,最后使用命令set +x关闭调试模式。
一个简单示例演示如何使用set命令进行脚本调试:
[root@localhost shell]# cat hello.sh #!/bin/bash # This is a test script. # 2013/12/20 #使用set命令的选项x,启动调试模式 set -x NAME=Jhon
echo $NAME
echo "Hello,$NAME" #使用+x表示关闭调试模式 set +x
[root@localhost shell]# ./hello.sh + NAME=Jhon + echo Jhon Jhon + echo Hello,Jhon Hello,Jhon + set +x
在上面的结果中需要注意到是,使用加号“+”开头的行都是执行的命令,行首没有加号“+”的都是脚本输出,并且脚本中的所有变量都使用值的形式替代。
如果脚本中存在逻辑错误,在上面的调试过程中,可以清晰地看到脚本执行的流程和出错的地方。
在使用set命令的x选项启动调试模式时,不一定非要将所有的语句都进行调试,如果需要,也可以使用set -x、set +x调试一段或多段可能存在问题的脚本。