第三种调试方式是通过变量设置来控制debug级别,类似于log4j(debug,info,warn,error,fatal),当然比它要简单得多。
如下所示:
#!/bin/sh
debug=1
test $debug -gt 0 && echo "Debug is on"
echo -n "Can you write device drivers? "
read answer
test $debug -gt 0 && echo "The answer is $answer"
answer=`echo $answer | tr [a-z] [A-Z]`
if [ $answer = Y ]
then
echo Wow, you must be very skilled
test $debug -gt 0 && echo "The answer is $answer"
else
echo Neither can I, Im just an example shell script
test $debug -gt 0 && echo "The answer is $answer"
fi
注:通过设置debug来控制是否打印某行语句或某个变量的值
此例子中只是设置了一个级别,debug等于0或者不等于0.
还可以通过如下设置调节不同级别:
debug=2
test $debug -gt 0 && echo "A little data"
test $debug -gt 1 && echo "Some more data"
test $debug -gt 2 && echo "Even some more data"