实战-bash脚本语法检查和查看详细的执行过程
检查语法是否有错:
bash -v test.bash #查看bash是否存在语法错误
bash -x test.bash #查看bash详细的执行过程
[root@xuegod63 ~]# cat a.sh
# Script to show debug of shell
#
tot=`expr $1 + $2`
secho $tot #这里故意写错
[root@xuegod63 ~]# bash -v a.sh
# Script to show debug of shell
#
tot=`expr $1 + $2`
expr: 语法错误 #语法哪错了? 运行时没有给参数
secho $tot #这里故意写错
a.sh:行4: secho: 未找到命令
[root@xuegod63 ~]# sed -i 's/secho/echo/' a.sh #修改正确后
[root@xuegod63 ~]# bash -x a.sh 2 3 #查看详细执行过程。 注:这个脚本是真正执行一遍,不是预执行
++ expr 2 + 3
+ tot=5
+ echo 5
例2:查看九九乘法表shell脚本运行过程
[root@xuegod63 ~]# cat 99.sh
for i in `seq 9`
do
for j in `seq $i`
do
echo -n "$i*$j= `echo $(($i*$j))` "
done
echo " "
done
root@xuegod63 ~]# bash -x 99.sh