Shell脚本条件语句

一、Shell脚本条件测试操作

1.test命令
格式1: test 条件表达式
格式2: [条件表达式]

●测试表达式是否成立,若成立返回0,否则返回其他数值。
●在Python中若表达式成立则为true为1,不成立则为false为0正好和shell相反。
在这里插入图片描述
在这里插入图片描述

2.文件测试
操作格式
[操作符 文件或目录]

●常用的测试操作符

命令符格式作用
-d测试是否为目录(Directory)
-e测试目录或文件是否存在(Exist)
-f测试是否为文件(File)
-r测试当前用户是否有权限读取(Read)
-w测试当前用户是否有权限写入(Write)
-x测试当前用户是否有权限执行(eXcute)
-L测试是否为软连接文件

在这里插入图片描述

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]
[字符串1=字符串2]
格式2 
[-Z字符串]

●常用的测试操作符

操作符格式说明
=字符串内容相同
!=字符串内容不同,!号表示相反的意思
-z字符串内容为空

在这里插入图片描述

5.逻辑测试

格式1:[表达式1] 操作符 [表达式2]...

格式2:命令1 操作符 命令2...

●常用的测试操作符

-a或&&:逻辑与,“而且” 的意思
-o或||:逻辑或,“或者” 的意思
!: 逻辑否

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

二、if语句结构

1.if单分支语句

●语法格式

第一种语法:

if <条件表达式>
then
    指令
fi

第二种语法:

if <条件表达式>;then
    指令
fi

●if单分支语句说明

当if后面的<条件表达式>成立(真)的时候,就会执行then后面的指令或语句,否则,就会忽略then后面的指令或语句,转而执行fi下面的程序。
在这里插入图片描述

2.if双分支语句

●语法格式

语法:
if <条件表达式>
  then
    指令
  else
    指令
fi

在这里插入图片描述
●if双分支语句说明
判断第一个条件匹配执行命令序列一
条件不匹配执行命令二

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

3.if多分支语句

●语法格式

if 条件测试操作1
then 
	命令序列一 
	elif 条件二 
	then 
	命令序列二 
	else 
	命令序列三
	fi 

●if多分支语句说明
第一个条件匹配执行命令序列一
第一个不匹配匹配第二个条件执行命令序列二
一和二条件都不匹配执行默认命令

三、case语句结构

●语法格式

case $变量名 in
 模式1)
 命令序列1
 ;;
 模式2)
 命令序列2
 ;; 
 *)
 默认执行的命令序列     
 ;; 
esac 

●case语句说明

Shell case in 语句中的*)用来“托底”,万一 expression 没有匹配到任何一个模式,*)部分可以做一些“善后”工作,或者给用户一些提示。

可以没有*)部分。如果 expression 没有匹配到任何一个模式,那么就不执行任何操作。

除最后一个分支外(这个分支可以是普通分支,也可以是*)分支),其它的每个分支都必须以;;结尾,;;代表一个分支的结束,不写的话会有语法错误。最后一个分支可以写;;,也可以不写,因为无论如何,执行到 esac 都会结束整个 case in 语句。

在这里插入图片描述

在这里插入图片描述

相关推荐
©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页