Shell之条件判断

一、条件测试

1、test命令:用于测试表达式是否成立,成立返回0,不成立则返回其他数字。
格式1:test 条件表达式
格式2:[ 条件表达式 ] (记住左右都要有空格)

1、文件测试

格式:[ 操作符 文件或者目录]
常用的测试操作符

-d:用于测试是否是目录
-e:测试目录或文件是否存在
-f:测试是不是文件
-r:测试当前的用户是否有读的权限
-w:测试当前用户是否有写的权限
-x:测试当前用户是否具有可执行权限
-L:测试是否为符号链接

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

2、整数值比较

格式:[ 整数1 操作符 整数2 ]
常用的测试操作符

-eq:等于
-ne:不等于
-gt:大于
-lt:小于
-le:小于等于
-ge:大于等于

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

3、字符串比较

格式1:[ 字符串1 = 字符串2 ] 和 [ 字符串1 != 字符串2 ]
格式2:[ -z 字符串 ]

常用的测试操作符

=:字符串内容相同
!=:字符串内容不同
-z:字符串内容为空

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

4、逻辑测试

格式1:[ 表达式1 ] 操作符 [ 表达式2 ] …
格式2:命令1 操作符 命令2 …

常用的测试操作符

-a或&&:逻辑与,“且”的意思(两边需同时成立)
-o或||:逻辑或,“或”的意思(如果第一个条件满足,则不需要看第二个条件,直接跳过,如果第一个条件失败,则查看第二条)
!:逻辑否

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

二、if语句

1、单分支结构

语法

if 条件测试操作
then
fi

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

2、双分支结构

语法

if 条件测试操作
then 命令序列1
else 命令序列2
fi

查看80端口是否开启,如果开启了则显示,没有开启就下载httpd服务并且开启
在这里插入图片描述
在这里插入图片描述

3、多分支结构

语法

if 条件测试操作
then 命令序列1
elif 条件测试操作2
then 命令序列2
else 命令序列3
fi

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

4、case语句结构

语法

case 分数 in
90-100)
判为优秀
;;
70-89)
判为合格
;;

*
判为不合格
esac

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值