如何调试自己的shell脚本
进行语法检查 -n
进行语法检查,但是不实际运行
bash -n script.sh
逐行运行打印结果 -x -v
-x 是显示每个命令执行时候的参数
-v 是显示输入的参数
直接带参数运行
可以在运行脚本的时候传入参数
bash -xv script.sh
替换shebang行
也可以替换标准的 shebang 行
#!/bin/bash
为
#!/bin/bash -vx
进入调试模式
脚本中局部开启
# turn ON debug mode
set -x
for f in *
do
file $f
done
# turn OFF debug mode
set +x
建议
将错误输出到stderr
# Write error to stdout
echo "Error: $1 file not found"
#
# Write error to stderr (note 1>&2 at the end of echo command)
#