Linux网络——Shell编程之条件语句—if 、case

一、条件测试

1.test命令

测试表达式是否成立,若成立返回0,否则返回其他数值

语法:
格式1: test 条件表达式
格式2: [ 条件表达式 ]

2.文件测试

语法:[ 操作符 文件或目录 ]
常用的测试操作符

选项说明
-d测试是否为目录(Directory)
-e测试目录或文件是否存在(Exist)
-f测试是否为文件(File)
-r测试当前用户是否有权限读取 (Read)
-w测试当前用户是否有权限写入 (Write)
-x测试当前用户是否有权限执行 (Excute)权限

在这里插入图片描述

3.整数值比较

语法:[ 整数1 操作符 整数2 ]

常用的测试操作符

选项(只能比较整数值)符号说明
-eq==等于(Equal)
-ne!=不等于 (Not Equal)
-gt>大于 (Greater Than)
-lt<小于(Lesser Than)
-le=<小于或等于 (Lesser or Equal)
-ge>=大于或等于(Greater or Equal)

在这里插入图片描述

4.逻辑测试

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

常用的测试操作符

操作符符号说明
-a 或 &&逻辑与“而且”
-o 或 丨丨逻辑或“或者”
!逻辑否“非”

在这里插入图片描述

二、if语句

1.单分支结构

语法:
if 条件测试操作
  then 命令序列
fi

在这里插入图片描述

2.双分支结构

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

在这里插入图片描述

3.多分支结构

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

在这里插入图片描述

4.实践操作

1.提示用户输入内容,使用if 语句判断输入的内容是否为整数,再判断输入的内容是奇数还是偶数。
在这里插入图片描述
在这里插入图片描述

2.提示用户输入100米赛跑的秒数,要求判断秒数大于0且小于等于10秒的进入选拔赛,大于10秒的都淘汰,如果输入其它字符则提示重新输入;进入选拔赛的成员再进一步判断男女性别,男生进男生组,女生进女生组,如果输入错误请提示错误
在这里插入图片描述
在这里插入图片描述

三、case分支语句

1.case多分支结构

语法:
case 变量值 in
模式1)
  命令序列1
  ;;
模式)
  命令序列2
  ;;
  ......
*)
  默认命令序列
esac   

在这里插入图片描述

2.实践操作

示例:用case语句在/etc/init.d/目录中写一个firewalld脚本,并加入到系统服务管理中使能够使用 service firewalld start|stop|restart|status 来管理firewalld服务,要求如果命令选项不对,则提示 “用法: $0 {start|stop|status|restart}”。
在这里插入图片描述在这里插入图片描述

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值