Shel编程之条件语句 条件 if ,case语句

一. 条件测试

test命令

  • 测试表达式是否成立,若成立返回0,否则返回其他数值
 - 格式1:test 条件表达式
 - 格式2[ 条件表达式 ]

1.文件测试

[ 操作符 文件或目录 ]
  • 常用的测试操作符
-d:测试是否为目录(Directory)
-e:测试目录或文件是否存在(Exist)
-f:测试是否为文件(File)
-r:测试当前用户是否有权限读取(Read)
-w:测试当前用户是否有权限写入(Write)
-x:测试当前用户是否有权限执行(eXcute)
-L:测试当前是否为软连接或者符号链接文件

在这里插入图片描述

2.整数值比较

[ 整数1 操作符 整数2 ]

用于比较两个整数值的大小。

$() 和 反撇号 是用来提取里面命令的执行结果。

  • 常用的测试操作符
-eq:等于(Equal)
-ne:不等于(Not Equal)
-gt:大于(Greater Than)
-lt:小于(Lesser Than)
-le:小于或等于(Lesser or Equal)
-ge:大于或等于(Greater or Equal)

在这里插入图片描述

在这里插入图片描述

3.字符串比较

[ 字符串1 = 字符串2 ]
[ 字符串1 != 字符串2 ]
[ -z 字符串 ]

用于比较两个整数值的大小。

=:字符串内容相同
!=:字符串内容不同,!号表示相反的意思
-z:字符串内容为空

在这里插入图片描述

4.逻辑测试

[ 表达式1 ] 操作符 [ 表达式2 ]
命令1 操作符 命令2
  • 常用的测试操作符
-a或&&:逻辑与,“而且”的意思
-o或||:逻辑或,“或者”的意思
!:逻辑否

-a或&& :逻辑与,“而且”的意思,为真时,左右表达式需都成立
-o或|| :逻辑或,“或者”的意思,只需前后条件中一个成立

注:-a 和 -o 需要在 [ ] 括号中执行。

在这里插入图片描述
在这里插入图片描述

二. if语句的结构

1.单分支结构

# 比较10大于5,是就直接输出0k
#!/bin/bash

if [ 10 -ge 5 ]
then
echo "ok"
fi

2.双分支结构

# 查看0端口是否运行,没有运行就开启运行
#!/bin/bash

netstat -natp | grep ":80"
if [ $? -eq 0 ];then
  echo "网站服务已经运行!"
else
  echo "启动httpd服务"
  yum install -y httpd > /dev/null
  systemctl start httpd
fi  

在这里插入图片描述

3.多分支结构

#!/bin/bash

read -p "请输入你的分数:" score

if [ $score -gt 99 ] && [ $score -le 100 ];then
  echo "牛逼"
elif [ $score -ge 90 ] && [ $score -le 99 ];then
  echo "可以"
elif [ $score -ge 60 ] && [ $score -le 89 ];then
  echo "好好努力"
else
  echo "脑子瓦特了"
fi

在这里插入图片描述

三. case语句结构

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

通配符操作

在这里插入图片描述

case语句注意事项

①case行首必须以单词“in”,每一模式必须以单个右括号")"结束

②双分号";;"表示命令序列的结束

③模式字符串中,可以用方括号表示一个连续的范围,如"[0-9]";还可以使用竖杠|表示或,比如a|b

最后的*)表示默认模式,其中的*相当于通配符

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值