shell脚本之条件语句(条件测试,if,case)

条件测试

文件测试test命令

测试表达式是否成立,成立返回0,非0为不成立

一:test  [选项] 条件表达式

二:[  选项  条件表达式 ]

 

 

 

常用选项

 
-d 测试文件是否为目录
-f 测试文件是否为普通文件
-e 测试目录或文件是否存在(建议用-e  -a不准确)
-r 测试当前用户是否有读取权限
-w 测试当前用户是否有写入权限
-x 测试当前用户是否有执行权限
-L

测试是否为符号链接

 

整数测试

整数值比较

一:[ 整数变量1 操作符 整数变量2 ] ​

二:test 整数变量1 操作符 整数变量2

操作符:

 

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

 

整数测试

整数值比较

一:[ 整数变量1 操作符 整数变量2 ] ​

二:test 整数变量1 操作符 整数变量2

操作符:

 

 

使用-z或-n测试变量时,变量需要加引号,避免有歧义而导致判断结果有误

逻辑测试

逻辑测试用于连接多个测试条件,并返回整个表达式的值。 逻辑测试主要有"逻辑与","逻辑或","逻辑否"三种

一:[ 表达式1 ] 操作符 [ 表达式2 ]

二:命令1 操作符 命令2

操作符:

-a或&&   逻辑与,而且

-o或||   逻辑或,或者

[表达式1] && [表达式2] 等同于 [表达式1 -a 表达式2] 等同于 [[表达式1 && 表达式2]]

三元运算符

[ 条件表达式 ] && 值1 || 值2

 || 运算符的前面表达执行成功后将不会再运行后面的表达式

 

 

if语句

单分支结构

 

 

 

语法:

if [ 条件测试表达式 ]     #如果 [ 为真 ]

then     #那么

命令       #执行该命令

fi         #退出

 

 

 

 

 

 

 

双分支结构

语法:

if [ 条件测试表达式 ]   #如果 [ 为真 ] 

 then #那么 命令1    #执行该命令 

 else    否则 

 命令2   #执行命令2 

 fi    #退出

 

 

 

 

 

 

 

多分支结构

if [ 条件测试表达式 ]      #如果 [ 为真 ] 

 then      #那么 

 命令1      #执行该命令 

 elif     #又如果 

 命令2     #执行命令2 

 elif       #又如果 

 命令3     #执行命令3 

fi     #退出

 

 

case语句的结构

语法:

case 变量引用 in 

模式1) 

       命令分支1 

        ;; 

 模式2) 

         命令分支2 

         ;; 

 ... *) 

         默认命令分支 

 esac

注意:

case支持glob风格的通配符: 

 * :任意长度任意字符 

 ? :任意单个字符 

 [0-9] :指定范围内的任意单个字符 

 | :“或者”的意思,如: a|b

 

 

 

 


 

posted @   风夏呀  阅读(80)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示