shell脚本学习(四

shell脚本学习
时间 20.6.13-14
Shell 条件测试
目的;正确处理Shell程序运行过程中遇到的各种情况,熟练掌握自动化运维Shell脚本程序的编写。

1.条件测试的基本语法。
格式一:test条件表达式
格式二:[条件表达式]
格式三:[[条件表达式]]
note:[]的左右要有空格。
常用语法:
语法一:test<测试表达式>
test命令和"测试表达式"之间最少有一个空格
语法二:[<测试表达式>]
[]的边界和内容之间至少有一个空格
语法三:[[<测试表达式>]]
[[]]的边界和内容之间至少一个空格
语法四:((<测试表达式>))
(())两端不需要有空格
0为真,非0为假

案例:
在这里插入图片描述在这里插入图片描述
2.文件测试表达式
[ 操作符 文件或目录 ]----空格
常用额文件测试操作符
-d d-directory 目录
-f f-file 普通文件
-e e-exist 存在
-r r-read 可读
-s s-size 文件存在and大小不为零
-w w-write 可写
-x x-executable 可执行
-L L-link 链接文件判断
f1 -nt f2 nt-newer than 前比后新
f1 -ot f2 ot-older than 后比前新

案例:

3.字符串测试表达式

常用字符串测试操作符
-n “字符串” 若字符串的长度不为0,则为真。 -n -no zero
-z “字符串” 若字符串的长度为0,则为真。 -z -zero

“串1”=“串2”
“串1”!=“串2”

案例:
在这里插入图片描述
在这里插入图片描述

4.整数测试表达式。
[]/test (())/[[]]
-eq ==或=
-ne !=
-gt >
-ge >=
-lt <
-le <=
e-equal
g-greater
l-less
n-not

案例:

在这里插入图片描述

5.逻辑操作符
[]/test [[]]/(())
-a && and
-o || or
! ! not

案例:

在这里插入图片描述

流程控制之条件判断
目的:使程序根据不同条件执行不同的程序分支

1.语法
单分支结构
语法一:
if <条件表达式>
then
指令
fi
语法二:
if <条件表达式>;then
指令
fi

双分支结构
		if <条件表达式>
		then
			指令序列1
		else
			指令序列2
		fi 
多分支结构
	语法:
	if	条件表达式1	
	then
		命令序列1
	elif	条件表达式2
	then
		命令序列2
	else
		命令序列n
	fi

案例:
1.单分支
编写脚本,判断当前系统剩余内存大小,如果低于100M,邮件报警管理员,使用计划任务,每
10分钟检查一次。
核心——判断剩余的内存大小
在这里插入图片描述在这里插入图片描述
编写脚本,判断当前脚本执行者,如果不是root用户,提示用户脚本需要root用户来执行,并
退出。
核心–判断用户
在这里插入图片描述
2.双分支
判断 sshd 进程是否运行,如果服务未启动则启动相应服务。
在这里插入图片描述
检查主机是否存活,并输出结果
在这里插入图片描述
3.多分支

在这里插入图片描述在这里插入图片描述
复合指令辨析
释义:一串命令
() {} 的比较
同:都是把一串命令放在括号里面,若命令在一行命令之间用 ; 号来分隔开
异:()重新开shell,即子shell {}当前shell执行
()最后一个命令不用分号 {}最后一个命令要用分号
()第一个命令和左边括号不必有空格 {}第一个命令和左括号必须要有一个空格
命令内外分明-即括号内部内用,外部整体用。

案例:
在这里插入图片描述

exit退出程序
作用:终止shell程序的执行
后可跟可选参数(参数为Z,取值范围0-255 查看状态值)

多条件判断语句CASE
语法:
case 变量名 in
值1)
指令1
;;
值2)
指令2
;;
值3)
指令3
;;
*)
默认
esac
案例:
在这里插入图片描述在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值