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编程-14-Shell脚本规范及调试

Shell之脚本检查与调试

shell 脚本 片段

用于确保在任何给定时间仅运行一个 shell 脚本的 shell 片段 [重复]

PowerShell ISE:调试从 power-shell 脚本调用的另一个 power-shell 脚本

常用python日期日志获取内容循环的代码片段