shell脚本调试
Posted lnlvinso
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell脚本调试相关的知识,希望对你有一定的参考价值。
windows下编写的脚本放到linux下执行前最好执行一下dos2unix转换一下换行符。
也可以是设置好工具的编码UTF-8无BOM,UNIX格式换行符,也可以打开显示空字符,注意tab和4个空格不要混用。
echo可以输出变量的值用于调试:
read -p "please input two number:" a b echo $a $b
-x是追踪脚本执行过程的一种好方法:
sh [-nvx] nginx.sh
-n:不会执行该脚本,仅查询脚本语法是否有问题,并给出错误提示
-v:在执行脚本时,先将脚本的内容输出到屏幕上,然后执行脚本。如果有错误,也会给出错误提示
-x:将执行的脚本内容及输出显示到屏幕上,这是对调试很有用的参数
-x调试整个过程的脚本时,会有很多输出。
通过set -x 命令开启调试功能,而通过set +x 关闭调试功能。调试脚本中的一段程序:
#!/bin/bash read -p "please input two number:" a b set -x #开启调试 if (($a < $b)) then echo "$a<$b" elif (($a == $b)) then echo "$a=$b" else echo "$a>$b" fi set +x #结束调试,只针对set -x 和set +x 之间的脚本进行调试 echo "done"
以上是关于shell脚本调试的主要内容,如果未能解决你的问题,请参考以下文章
用于确保在任何给定时间仅运行一个 shell 脚本的 shell 片段 [重复]