如果在脚本文件中加入命令“set -x”, 那么在set 命令之后执行的每一条命令以及加在命令行中的任何参数(包括变量和变量的值)都会显示出来。每一行之前都会加上加号(+),提示它是跟踪输出的标识。在子Shell中执行的Shell跟踪命令会加上两个加号即“++”。
如:
#!/bin/sh
set -x
echo -n "Can you write device drivers?"
read answer
answer=`echo $answer | tr [a-z] [A-Z]`
if [ $answer = 'Y' ]
then
echo "Wow, you must be very skilled"
else
echo "Neither can I, I'm just an example shell script"
fi
用xtrace(-x) 选项可以确认代码是否按照设计预期运行,如果只是想看看正在运行的脚本文件的代码,那么Shell重的冗余选项-v是非常有用的。关闭和打开选项的句法是相反的,使用如-x的减号来打开一个选项,也可使用加号,例如+x来关闭某个选项。
注:赋值是不能用空格。如answer=`echo $answer | tr [a-z] [A-Z]`