Shell脚本调试方法

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

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

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

-v 一边执行脚本,一边将执行过的脚本命令打印到标准错误输出(我理解的应该是为了达到无缓冲的目的)。

 

关于-x的使用方法:(指的三选一,并不是说比如在方法1中传入-x参数,才可以使用方法3)

1.在命令行提供参数。如:

$ sh -x about_x.sh

2.在脚本开头提供参数。如:

#!/bin/sh -x

(方法1和2默认所有行都会进行命令输出)

3.在脚本中用set命令启用或禁用参数,起到一个开关的作用,提取出关心的部分。

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

例:about_x.sh

#! /bin/sh

echo start

set -x
echo aa
set +x

echo bb
echo cc
echo dd

set -x
echo ee
set +x

echo ff

exit 1

执行 sh about_x.sh 

注意,这里并没有传入参数-x。输出结果为

start
+ echo aa    //开启时不提示set -x,只输出了对应的命令
aa
+ set +x     //关闭时提示
bb
cc
dd
+ echo ee    //再次开启
ee
+ set +x     //再次关闭,提示
ff

猜你喜欢

转载自blog.csdn.net/u011526967/article/details/86141545