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

程序是人写的,难免会出错。想知道你的程序正在做什么,有个好方法,就是把执行跟踪的功能打开。这会使得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)