Shell语言-16-Shell脚本调试 -n -v -x -c

1. 简述

Shell脚本的语法调试,使用bash的相关参数进行调试

sh [参数] 文件名.sh

1.1 -n

不要执行script,仅查询语法

“-n” 可用于测试shell脚本是否存在语法错误,但不会实际执行命令
常用于写完脚本之后,测试一下脚本是否能用从而避免直接使用带来的可能出现的问题

[root@Centos-root473791 ~]# sh -n whileD.sh 
[root@Centos-root473791 ~]# 

1.2 -v

在执行script之前,先将script的内容输出到屏幕上
在脚本执行完之前将脚本内容打印出来

[root@Centos-root473791 ~]# sh -v whileD.sh 
#! /bin/bash
s=0
i=1
while [ $i -le 100 ]
do
        s=$[$s+$i]
        i=$[$i+1]
done

echo $s
5050
[root@Centos-root473791 ~]# 

1.3 -x

将使用的脚本的内容输出到屏幕,该参数经常被使用
跟踪脚本执行,并显示出来

“-x"选项可用来跟踪脚本的执行,是调试shell脚本的强有力工具。”-x"选项使shell在执行脚本的过程中把它实际执行的每一个命令行显示出来,并且在行首显示一个"+"号。 "+"号后面显示的是经过了变量替换之后的命令行的内容,有助于分析实际执行的是什么命令。 "-x"选项使用起来简单方便,可以轻松对付大多数的shell调试任务,应把其当作首选的调试手段。
前面有“+”号的行是shell脚本实际执行的命令,
前面有“++”号的行是执行trap机制中指定的命令,
其它的行则是输出信息。

[root@Centos-root473791 ~]# cat whileD.sh 
#! /bin/bash
s=0
i=1
while [ $i -le 100 ]
do
        s=$[$s+$i]
        i=$[$i+1]
done

echo $s

echo "执行完成"
[root@Centos-root473791 ~]# sh -x whileD.sh 
+ s=0
+ '[' 100 -le 100 ']'
+ s=5050
+ i=101
+ '[' 101 -le 100 ']'
+ echo 5050
5050
+ echo $'\346\211\247\350\241\214\345\256\214\346\210\220'
执行完成
[root@Centos-root473791 ~]# 

1.4 -c

-c “string” 从strings中读取命令

执行后面跟着的字符串包裹的命令集合

sh -c 'a=1;b=2;let c=$a+$b;echo "c=$c"'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Alan0517

感谢您的鼓励与支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值