1.11 调试脚本
2019-03-05 本文已影响0人
拙言_Coder
-
启用 shell 脚本的跟踪调试功能
bash -x script.sh #使用 -x 选项启动调试模式
-
使用
set -x
和set +x
对脚本进行部分调试#!/bin/bash for i in {1..6}; do set -x #启动调试模式 echo $i set +x #关闭调试模式 done echo "Script executed"
这样,在执行脚本的时候就能看到在
set -x
和set +x
之间的代码执行情况。
-
使用
_DEBUG
环境变量,进行自定义格式显示调试信息#!/bin/bash -xv function DEBUG() { [ "$_DEBUG" == "on" ] && $@ || : } for i in {1..10}; do DEBUG echo $i done
可以如下运行上面的脚本:
#在脚本有可执行权限的时候 _DEBUG=on script.sh #在脚本无执行权限的时候 _DEBUG=on bash script.sh
-
把 shebang 改为
#!/bin/bash -xv
启动调试模式这其实跟采用
bash -xv script.sh
一样。前提是脚本必须有可执行权限。
set -x
:启动调试,在执行是现实参数和命令。set +x
:禁止调试。set -v
:启动打印输入,当命令进行读取时显示输入。set +v
:禁止打印输入。