【shell脚本调试 -11】

一、脚本中常见错误:语法错误、逻辑错误

二、脚本调试技术

1、使用dos2unix命令处理在windows下开发的脚本
2、使用echo命令调试
3、使用bash命令参数调试

[root@ks ~]# sh [-nvx] nginx.sh
参数说明:
-n:不会执行该脚本,仅查询脚本语法是否有问题,并给出错误提示
-v:在执行脚本时,先将脚本的内容输出到屏幕上,然后执行脚本。如果有错误,也会给出错误提示。
-x:将执行的脚本内容及输出显示到屏幕上,这是对调试很有用的参数

[root@manager day6]# sh -n 1.sh
[root@manager day6]# sh -v 1.sh
#!/bin/bash
#*************************************************************
#Author: pyy
#Date:  2020-06-25
#FileName:      1.sh
#*************************************************************
i=1
#while [ $i -le 10 ]
#while ((i<=10))
until ((i>10))
do
	let sum+=i
	let i++
done
echo "1+2+.....+10=$sum"
1+2+.....+10=55
[root@manager day6]# sh -x 1.sh
+ i=1
+ (( i>10 ))
+ let sum+=i
+ let i++
+ (( i>10 ))
+ let sum+=i
+ let i++
+ (( i>10 ))
+ let sum+=i
+ let i++
+ (( i>10 ))
+ let sum+=i
+ let i++
+ (( i>10 ))
+ let sum+=i
+ let i++
+ (( i>10 ))
+ let sum+=i
+ let i++
+ (( i>10 ))
+ let sum+=i
+ let i++
+ (( i>10 ))
+ let sum+=i
+ let i++
+ (( i>10 ))
+ let sum+=i
+ let i++
+ (( i>10 ))
+ let sum+=i
+ let i++
+ (( i>10 ))
+ echo 1+2+.....+10=55
1+2+.....+10=55

4、使用set命令调试部分脚本内容
set命令常用的调试选项:
set -n :读取命令单并不执行
set -v :显示读取的所有行
set -x :显示所有命令及其参数
提示:通过set -x 命令开启调试功能,而通过set +x 关闭调试功能
set命令最大优点是,和bash -x相比,set -x可以缩小调试的作用域

[root@manager day4]# cat test1.sh
#!/bin/bash
#*************************************************************
#Author: pyy
#Date:  2020-06-14
#FileName:      test1.sh
#*************************************************************
#给定一个用户,判断其UID与GID是否一样,如果一样,就显示该用户为“good guy” 否则显示为"bad guy"
read -p "请输入一个用户名:" user_name
#开启调试功能
set -x 
if id $user_name &>/dev/null
then
		if [ $(id -u $user_name) -eq $(id -g $user_name) ]
		then
			echo "good guy"
		else
			echo "bod guy"
		fi
else
	echo "$user_name is not exists"
fi
#关闭调试功能
set +x
[root@manager day4]# sh test1.sh
请输入一个用户名:centos
+ id centos
++ id -u centos
++ id -g centos
+ '[' 1000 -eq 1000 ']'
+ echo 'good guy'
good guy
+ set +x
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

骑着蜗牛追汤圆

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值