程序是人写的,难免会出错。想知道你的程序正在做什么,有个好方法,就是把执行跟踪的功能打开。这会使得Shell显示每个被执行到的命令,并在前面加上"+ " ,一个加号后面跟着一个空格。
在脚本里,用 set -x 命令将执行跟踪的功能打开,然后再用 set +x 命令关闭它。这个功能对复杂的脚本比较有用,不过这里只用简单的程序来说明:
cat > trace1.sh #! /bin/sh set -x #打开跟踪功能 echo 1st echo #做些事 set +x #关闭跟踪功能 echo 2nd echo #再做些事 ^D #以end-of-file结尾
chmod +x trace1.sh ./trace1.sh + echo 1st echo #被跟踪的第一行 1st echo #命令的输出 + sex +x #被跟踪的下一行 2nd echo #下一个命令的输出
执行时,set -x 不会被跟踪,因为跟踪功能是在这条命令执行后才打开的。同理,sex +x 会被跟踪,因为跟踪功能是在这条命令执行后才关闭的。最后的echo命令不会被跟踪,因为此时跟踪功能已经关闭。
本文介绍了一种在Shell脚本中使用set-x命令进行调试的方法。通过开启执行跟踪功能,可以详细查看脚本运行过程中的每一步操作,有助于理解脚本的执行流程并定位问题。

2万+

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



