最简单的调试命令当然是使用echo命令。您可以使用echo在任何怀疑出错的地方打印任何变量值。这也是绝大多数的shell程序员要花费80%的时间来调试程序的原因。Shell程序的好处在于不需要重新编译,插入一个echo命令也不需要多少时间


shell也有一个真实的调试模式。如果在脚本"strangescript" 中有错误,您可以这样来进行调试:

sh -x strangescript 这将执行该脚本并显示所有变量的值。

  shell还有一个不需要执行脚本只是检查语法的模式。可以这样使用:

sh -n your_script 这将返回所有语法错误。

linux/unix shell l脚本调试方法

Shell提供了一些用于调试脚本的选项,如下所示:

-n
读一遍脚本中的命令但不执行,用于检查脚本中的语法错误

-v
一边执行脚本,一边将执行过的脚本命令打印到标准错误输出

-x
提供跟踪执行信息,将执行的每一条命令和结果依次打印出来

使用这些选项有三种方法,

一是在命令行提供参数

$ sh -x ./script.sh


二是在脚本开头提供参数

#! /bin/sh -x


第三种方法是在脚本中用set命令启用或禁用参数

复制代码 代码如下:


#! /bin/sh
if [ -z "$1" ]; then
set -x
echo "ERROR: Insufficient Args."
exit 1
set +x

fi


set -x和set +x分别表示启用和禁用-x参数,这样可以只对脚本中的某一段进行跟踪调试。