Linux运维实例 shell脚本的语句条件以及书写

文章目录

  • 前言
  • 一、shell中常用的shell测试符
    • test
    • 文件测试
    • 数字字符大小的比较
    • 字符串的比较
    • 逻辑测试
  • 二、if语句和case语句
    • 1.if语句的结构
    • 2.case语句

前言

shell脚本的语句有许多 常用的if和case,用来检测和判断一些条件。

一、shell中常用的shell测试符

test

测试表达式是否成立,成立就会返回0 不成立就会返回一个非0值
格式一般会有两种 test 条件表达式 [ 条件表达式 ]
在这里插入图片描述
等式成立 返回为0
在这里插入图片描述
不成立 返回1.

文件测试

格式为[ 操作符 文件或者目录 ] 注意两边都有空格
常用的测试符有 -d -e -f -r -w -x
-d 测试是否为目录
-e 测试文件和目录是否存在
-f 测试是否为文件
-r 测试当前用户是否有权限读取
-w 测试当前用户是否有权限写入
-x 测试当前用户是否有权限执行
在这里插入图片描述
返回0表示目录或者文件存在
在这里插入图片描述
表示文件或者目录不存在。 其他同理

数字字符大小的比较

常用于整数值的大小比较,格式为[ 整数1 操作符 整数2 ] 注意空格
-eq:等于
-ne 不等于
-gt 大于
-lt 小于
-le 小于或等于
-ge 大于或等于
在这里插入图片描述
在这里插入图片描述
结果也是看返回码

字符串的比较

用于字符串的比较,格式1[ 字符串1 操作符 字符串2 ] 格式2 为[ 操作符 字符串 ]
测试操作符有4种
= 字符串内容相同
!= 字符串内容不同,!号表示相反的意思
-z 字符串内容为空
-n 检查字符串是否存在

逻辑测试

用来检测一个条件是否成立
格式有两种:[ 表达式1 ] 操作符 [ 表达式2 ]
命令1 操作符 命令2 常用的操作符有-a 也可以用&&表示,表示与,而且的意思,前后的条件都要成立,
-o 可用||表示,表示或,或者的意思 前后条件只要成立一个即可
!表示否 条件不成立

二、if语句和case语句

1.if语句的结构

if语句的机构分为三种
单分支语句 双分支语句和多分枝语句
单分支语句结构很简单,结构如下

Linux运维实例 shell脚本的语句条件以及书写_第1张图片
Linux运维实例 shell脚本的语句条件以及书写_第2张图片
一个典型的if单分子语句
if双分支是在多分枝基础上添加了一个分支,多了一个条件判别
Linux运维实例 shell脚本的语句条件以及书写_第3张图片
Linux运维实例 shell脚本的语句条件以及书写_第4张图片
双分支脚本实例
Linux运维实例 shell脚本的语句条件以及书写_第5张图片
if 多分枝结构 也是在双分支基础上增加了一个判别 一个条件无法判别就判别下一个 再不行就输出结果

Linux运维实例 shell脚本的语句条件以及书写_第6张图片
Linux运维实例 shell脚本的语句条件以及书写_第7张图片
多分支脚本实例
Linux运维实例 shell脚本的语句条件以及书写_第8张图片

2.case语句

case语句适用于多分支应用场景,不像if语句需要用eilf去检查同一个变量的值,case语句是会采用列表格式来检查单个变量的多个值。

Linux运维实例 shell脚本的语句条件以及书写_第9张图片
case多分枝语句实例。

你可能感兴趣的:(shell,linux)