一、介绍
使用sh -x调试shell脚本:“-x”选项可用来跟踪脚本的执行
,是调试shell脚本的强有力工具。“-x”选项使shell在执行脚本的过程中把它实际执行的每一个命令行显示出来,并且在行首显示一个”+”号。 “+”号后面显示的是经过了变量替换之后的命令行的内容,有助于分析实际执行的是什么命令。 “-x”选项使用起来简单方便,是首选的调试手段。
shell的执行选项除了可以在启动shell时指定外,亦可在脚本中用set命令来指定。 “set -参数”
表示启用某选项,”set +参数”
表示关闭某选项。有时候我们并不需要在启动时用”-x”选项来跟踪所有的命令行,这时我们可以在脚本中使用set命令,如以所示:
set -x #启动"-x"选项 要跟踪的程序段
set +x #关闭"-x"选项
二、sh -x 脚本名.sh
[root@hadoop1 all]# cat 2018070401.sh
#!/bin/bash
var=$1
echo $var
[root@hadoop1 all]# sh -x 2018070401.sh hello
#控制台输出
+var=hello
+echo hello
hello
#带+的表示被跟踪的代码
三、set -x
对脚本内部部分代码进行跟踪,被跟踪的代码以set -x开始,与set +x结束.
[root@master shellexer]# cat 2018070401.sh
#!/bin/bash
var=$1
set -x
echo $var
set +x
echo $var
[root@hadoop1 all]# sh 2018070401.sh hello
#控制台输出
+echo hello
2018070401.sh: line 4: echo: command not found
+set +x
hello