Linux下调试shell的几种方法

来源:互联网 发布:全国多少个省市 知乎 编辑:程序博客网 时间:2024/06/06 01:35

A、 使用 bashdb进行跟踪调试,可以设置断点等
B、 运行shell脚本加入-x参数
比如:bash –x test.sh
注意:这种模式下,程序会一次性执行完,但是会将执行的程序都打印;
C、 脚本中加入
Set –x:开启调试,会将后面的执行命令与参数都打印出来;set +x 会关闭调试,该语句之后的shell语句不会打印出来。
set –v:会打印读取到的代码段
可以单独使用,也可以联合使用;
另外一种写法: #!/bin/bash -xv
D、 脚本内部使用变量和函数的方式
实例脚本:

#!/bin/bash_DEBUG="on"function DEBUG(){ [ "$_DEBUG" == "on" ] &&  $@}DEBUG echo 'Reading files'for i in *do  grep 'zbkchuangjun' $i > /dev/null  [ $? -eq 0 ] && echo "Found in $i file"doneDEBUG set -xa=2b=3c=$(( $a + $b ))DEBUG set +xecho "$a + $b = $c"

执行输出如下:

[root@lab205 ~]# sh script.sh Reading filesFound in script.sh file+ a=2+ b=3+ c=5+ DEBUG set +x+ '[' on == on ']'+ set +x2 + 3 = 5

若设置_DEBUG=”off”,输出如下:

[root@lab205 ~]# sh script.sh Found in script.sh file2 + 3 = 5
0 0
原创粉丝点击