调试shell脚本

参数

-x 在脚本执行时显示参数和命令

-v 在命令读取时现实输入

[root@mio-test ~]# bash -x 1.sh
++ date +%s
+ start_time=1408436185
+ sleep 5
++ date +%s
+ end_time=1408436190
+ echo '5s gone'
#输出 5s gone

自动打印调试信息

我们可以将参数写在shell中,这样运行时不需要传入参数仍可以启动调试模式

#!/bin/bash -xv

start_time=$(date +%s)
date +%s)
date +%s
++ date +%s
+ start_time=1408436302

sleep 5
+ sleep 5

end_time=$(date +%s)
date +%s)
date +%s
++ date +%s
+ end_time=1408436307

echo "$[$end_time - $start_time]s gone"
+ echo '5s gone'
5s gone