shell编程之条件语句

一.条件测试操作
1.tes命令
·测试表达式是否成立,若成立返回0,否则返回其他数值
格式1:test 条件表达式
格式2:[ 条件表达式 ]
2.文件测试
[ 操作符 文件或目录 ]
3.常用的测试操作符
·-d:测试是否为目录(Directory)
·-e:测试目录或文件是否存在(Exist)
·-f:测试是否为文件(File)
·-r:测试当前用户是否有权限读取(Read)
·-w:测试当前用户是否有权限写入(Write)
·-x:测试当前用户是否有权限执行(eXcute)
#[ -d /media/cdrom ]
#echo $?
#[ -d /media/cdrom/Server ]
#echo $?
#[ -d /meida/cdrom ] && echo “YES”

4.整数值比较
[ 整数1 操作符 整数2 ]
5.常用的测试操作符
·-eq:等于(Equal)
·-ne:不等于(Not Equal)
·-gt:大于(Greater Than)
·-lt:小于(Lesser Than)
·-le:小于或等于(Lesser or Equal)
·-ge:大于或等于(Greater or Equal)
#who | wc-l
#[ $(who | wc -l) -gt 5 ] && echo “Too many.”
#[ $(who | wc -l) -ge 10 ] && echo “>=10”
#FreeCC= $(free -m | grep “Mem:” | awk ‘{print $6}’)
#[ $FreeCC -lt 1024] && echo ${FreeCC}MB

6.字符串比较
·格式1: [ 字符串1= 字符串2 ]
[ 字符串1 != 字符串2 ]
·格式2:[ -z 字符串 ]
7.常用的测试操作符
·=:字符串内容相同
·!=:字符串内容不同,!号表示相反的意思
·-z:字符串内容为空
#echo $LANG
#[ $LANG !=“en.US” ] && “Not en.US”
#read -p “是否覆盖现有文件(yes/no)?” ACK
#[ $ACK=“yes” ] &&echo “覆盖”

8.逻辑测试
格式1:[ 表达式1 ] 操作符 [ 表达式2 ] …
格式2:命令1 操作符 命令2 …
9.常用的测试操作符
·-a或&&:逻辑与,"而且"的意思
·-o或ll:逻辑或,"或者"的意思
·!:逻辑否
#[ -d /etc ] && [ -r /etc ] && echo “You can open it”
#[ -d /etc ] ll [ -d /home ] && echo “ok”

二.if语句的结构
1.在这里插入图片描述
2.在这里插入图片描述

在这里插入图片描述
三.if语句应用示例
1.单分支if语句
·判断挂载点目录,若不存在则自动创建
#cat chkmountdir.sh
在这里插入图片描述

2.双分支if语句
·判断目标主机是否存活,显示检测结果
#cat pinghost.sh
在这里插入图片描述

3.多分支if语句
·判断分数范围,分出优秀,合格,不合格三挡
在这里插入图片描述

四.case语句结构
在这里插入图片描述

六.case语句应用示例
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值