实战演练
[root@shaofeng ~]# bash -x ./sleep.sh #或者sh替换bash
- 使用set -x和set +x对脚本进行部分调试。例如:
[root@shaofeng ~]# cat ./debug.sh
#!/bin/bash
#文件名:debug.sh
for i in {1..6};
do
set -x
echo $i
set +x
done
echo "Script excuted"
[root@shaofeng ~]# _DEBUG=on ./script.sh
1
2
3
4
5
6
7
8
9
10
[root@shaofeng ~]# cat ./script.sh
#!/bin/bash
function DEBUG() {
[ "$_DEBUG" == "on" ] && $@ || :
}
for i in {1..10}
do
DEBUG echo $i
done
工作原理
- set -x:在执行时显示参数和命令
- set +x:禁止调试
- set -v:当命令进行读取时显示输入
- set +v:禁止打印输入
补充内容
- #!/bin/bash -xv,不用任何其他选项就可以启用调试功能。