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"

  

原文地址:https://www.cnblogs.com/lnlvinso/p/9998078.html