Linux 脚本调试方法

Linux 脚本调试方法

    Linux中脚本执行遇到错误时,一般都会打印错误及错误所在的行号。有的错误提示能望文知义,有的描述不是能够知其所以然,还有的错误是前面的过程导致了错误的发生。如何能快速发现代码中的错误?Linux中脚本调试并没有特定的工具,在windows平台上可以借助visual studio来调试vbscript脚本,也希望不久以后linux中也有类似的脚本调试工具。如果已经有了,希望能告诉我。下面总结一下我常用到的调试方法。
   1:打印程序日志的方法,这种方法在各种语言的程序中都被广为应用。我们可以用print 和 echo等输出语句。如果希望调试日志在运行不出现,可以写个类似的函数。
      debug_info()
      {
         if [ "$DEBUG" = "true" ]
         then 
            $@ 
         fi
      }
     
   2:在调用shell脚本是加上命令行选项或者是利用set命令。
      比如在 sh -n 脚本文件名 或者 set -o noexec 缩写是set -n 表示只检查语法不执行。
                sh -v 脚本文件名 或者 set -o verbose 缩写是set -n 表示在命令执行前显示。
                sh -x 脚本文件名 或者 set -o xtrace 缩写是set -x 表示在命令执行后显示。
                sh -u 脚本文件名 或者 set -o nounset 缩写是set -u 如果出现了未定义的变量就给出错误消息。
   
   3:使用用trap命令来执行错误和调试信号的输出
      trap [命令,函数,语句] 信号[ERR,DEBUG...]
        例如:
ERRPRINT()
{
   echo 
"LINE:$1 command of function exit with $?"
}

trap 
' ERRPRINT $LNENO '  ERR
abc
good

你可能感兴趣的:(Linux 脚本调试方法)