Shell 脚本学习 — 简单的执行跟踪
分类: Linux144人阅读评论(0)收藏举报

程序是人写的,难免会出错。想知道你的程序正在做什么,有个好方法,就是把执行跟踪的功能打开。这会使得Shell显示每个被执行到的命令,并在前面加上"+ " ,一个加号后面跟着一个空格。

在脚本里,用 set -x 命令将执行跟踪的功能打开,然后再用 set +x 命令关闭它。这个功能对复杂的脚本比较有用,不过这里只用简单的程序来说明:

Shell 脚本学习 — 简单的执行跟踪_Shell 脚本学习 — 简单的执行跟踪
cat > trace1.sh#! /bin/shset -x           #打开跟踪功能
echo 1st echo    #做些事set +x           #关闭跟踪功能
echo 2nd echo    #再做些事
^D               #以end-of-file结尾
Shell 脚本学习 — 简单的执行跟踪_Shell 脚本学习 — 简单的执行跟踪
Shell 脚本学习 — 简单的执行跟踪_Shell 脚本学习 — 简单的执行跟踪
chmod +x trace1.sh./trace1.sh+ echo 1st echo    #被跟踪的第一行
1st echo           #命令的输出
+ sex +x           #被跟踪的下一行
2nd echo           #下一个命令的输出
Shell 脚本学习 — 简单的执行跟踪_Shell 脚本学习 — 简单的执行跟踪

执行时,set -x 不会被跟踪,因为跟踪功能是在这条命令执行后才打开的。同理,sex +x 会被跟踪,因为跟踪功能是在这条命令执行后才关闭的。最后的echo命令不会被跟踪,因为此时跟踪功能已经关闭。