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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值