|
脚本中,当有一个错误发生时,shell 在正常情况下打印出包含错误那行的行号。如果错误并不是立即在表面上呈现出来的,那么可以通过简单地在 shell 里增加额外的 echo指令来显示变量的内容以及测试代码片段。
跟踪更多的错误的主要途径是设置不同的 shell 选项。这里,可以在调用 shell 后使用命令行选项或者使用 set 命令。以下汇总这些选项:
-----------------------------------------------------------------
命令行选项 set 命令选项 描述
sh -n <script> set -o noexec 仅检查语法错误,不执行命令
set -n
sh -v <script> set -o verbose 在运行之前 echoe 命令
set -v
sh -x <script> set -o xtrace 在处理行上处理后 echo 命令
set -x
sh -u <script> set -o nounset 当使用一个未定义变量则给出错误信息
set -u
-----------------------------------------------------------------------
可以用 -o 设置 set 选项标志为开, +o 为关。
可以使用 xtrace 选项来达到一个简单的执行状况跟踪。
对于初始化检查,可以使用命令行选项,但对于精炼的debug,可以在脚本中问题出现代码的附近处设置 xtrace 标志。
执行跟踪使 shell 在执行此行前,打印出每一行带有变量扩展的脚本。
使用一下命令打开 xtrace 开:
set -o xtrace
关上 xtrace :
set +o xtrace |
|