2012年5月15日星期二

Shell 脚本学习 — 简单的执行跟踪

Shell 脚本学习 — 简单的执行跟踪

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

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

cat > trace1.sh#! /bin/shset -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命令不会被跟踪,因为此时跟踪功能已经关闭。


TAG: