调试钩子也称调试块,实际上是一个if/then结构的代码块,
DEBUG 变量控制该代码块是否执行,在程序的开发调试阶段,将
DEBUG变量设置为TRUE,使其输出调试信息,到了程序交付使用阶段,
将DEBUG设置为FALSE,无需一一删除调试钩子代码
cat debugblock.sh
#!/bin/bash
#DEBUG函数封装了调试钩子,可以跟若干个输入调试信息
DEBUG()
{
if [ "$DEBUG" = "true" ]
then
$@
fi
}
a=0
b=2
c=100
DEBUG echo "a=$a b=$b c=$c" #第一个调试钩子
while :
do
DEBUG echo "a=$a b=$b c=$c" #第二个调试钩子
if ((a >= 10))
then
break
fi
let "a=a+2"
let "b=b*2"
let "c=c-10"
done
export DEBUG=true
./debugblock.sh
a=0 b=2 c=100
a=0 b=2 c=100
a=2 b=4 c=90
a=4 b=8 c=80
a=6 b=16 c=70
a=8 b=32 c=60
a=10 b=64 c=50
unset DEBUG
./debugblock.sh