(三)调试钩子,也称调试块,是源于其他的高级程序语言的调试方法,调试钩子实际上就是一个if/then结构的代码块,DEBUG变量控制该代码是否执行,在程序的开发调试阶段将DEBUG变量设置为TRUE,使其输出调试信息,到了程序交付阶段,将DEBUG设置为FALSE,关闭调试钩子,而无需一一删除调试钩子代码。一般调试钩子就是如下代码块:
1 if [ "$DEBUG" ="true" ]
2then
3 echo "Debugginginformation: "
4 、、、、
5 fi
调试钩子中DEBUG是一个全局变量,在开始调试阶段可利用export DEBUG=true 将DEBUG设置为true 。当然上面的代码块在需要许多地方需要调试的情况下非常麻烦,我以我们可以定义一个DEBUG函数使植入调试钩子,这样比较方便。
1 #!/bin/sh
2DEBUG()
3 {
4 if [ "$DEBUG" ="true" ]
5 then
6 $@
7 fi
8 }
9 a=0
10 b=2
11 c=100
12 DEBUG echo "a=$a b=$b c =$c" #第1个调试钩子
13 while :
14 do
15 DEBUG echo "a=$a b=$b c =$c" #第个调试钩子
16 if (( $a >= 10 ))
17 then
18 b