首页 > 技术文章 > shell编程之条件语句

aacoffee 2021-07-16 10:29 原文

目录:

一、条件测试

1、test命令测试

2、文件测试

3、字符串比较

4、逻辑测试

二、if语句

1、if单分支语句

2、if双分支语句

3、if多分支语句

三、case语句

case多分支语句

 

 

 

一、条件测试

1、test命令测试

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

格式1:test 条件表达式

格式2:【 条件表达式 】   #至少有一个空格

 

常用的测试操作符

  • -eq∶等于(Equal)
  • -ne∶ 不等于(Not Equal)
  • -gt∶ 大于(Greater Than)
  • -It∶ 小于(Lesser Than)
  • -le∶ 小于或等于(Lesser or Equal)
  • -ge∶ 大于或等于(Greater or Equal)

注:返回0表示成立,非0值表示条件不成立

2、文件测试

[ 操作符 文件或目录 ]

常用的测试操作符

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

 

3、字符串比较

1 格式1
2 【 字符串1 = 字符串2 】
3 【 字符串1 != 字符串2 】
4 
5 格式2
6 【 -z 字符串 】 #是否空值
7 【 -n 字符串 】 # 字符集是否存在

常用的测试操作符

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

 

4、逻辑测试

格式1:【 表达式 1 】操作符 【 表达式2 】...
格式2:命令1 操作符 命令2 ...

常用的操作符∶

  • -a或&& ∶ 逻辑与,"而且"的意思,前后条件需都成立
  • -o或|l∶ 逻辑或,"或者"的意思,只需前后条件中一个成立
  • !∶逻辑否

 

 

查看主机是死是活

 

二、if语句的结构 

1、单分支结构

 

 

 

 

 

 

2、双分支结构 

 

 

 

 

 

 

 

3、多分支结构 

 

 

 

 

三、case语句的结构 

case多分支语句

 

 

 

总结

1、条件测试的语法

 

文件测试、整数值比较、字符串比较、逻辑测试  

2、if条件语句的语法

单分支、双分支、多分支 

3、case多分支语句的语法

 

 

 

 

 

 

 

 

 

 

 

 

 

  

 

 

 

  

 

推荐阅读