调试shell脚本
时间:2019-04-16 23:59:04 来源:igfitidea点击:
运行脚本时使用 -x选项可以调试脚本
bash -x script-name 或者 bash -xv script-name
也可以在脚本中的第一行修改:
#!/bin/bash -x echo "Hello, World!" echo "echo in shell"
执行结果:
[root@rhel6 tmp]# ./hello.sh + echo 'Hello, World!' Hello, World! + echo 'echo in shell' echo in shell
使用内置命令set进行调试
Bash shell可以通过set命令来打开或者关闭调试。
set -x: 执行命令时显示命令及其参数。
set -v: 显示shell的行号
set -n: 只读取脚本但是不执行。可以用来检查脚本是否有语法错误。
shell调试示例
注意shell脚本内最好不要使用非英文,这里使用中文是为了讲解。
test.sh
#!/bin/bash ### 打开调试模式 ### set -x # 运行shell命令 echo "Hello $(LOGNAME)" echo "今天是 $(date)" echo "在线用户:" ### 关闭调试模式 ### set +x # 其他不需要在调试模式下运行的命令
示例2 noexec.sh
#!/bin/bash set -n # 只读取,不执行命令 set -o noexec echo "这是测试" # 不会创建debug.txt文件 >/tmp/debug.txt