Shell编程之条件语句

目录

一、条件测试

test命令

文件测试 

常用的测试操作符 

整数值比较

二、 常用的测试操作符

格式一 

格式二  

三、字符串比较

格式一

四、逻辑测试

常用的测试操作符

格式一

格式二

 格式三

三元运算符

五、if语句

单分支结构

分支结构

多分支结构

 六、case语句结构

case多分支结构


一、条件测试

test命令

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

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

文件测试 
[ 操作符 文件或目录 ]
常用的测试操作符 
操作符作用
-e 测试目录是否存在
 -f 测试文件是否存在

-d

测试目录是否存在

-r

测试用户是否有读权限

-w

测试当前用户是否有写权限

-x

测试当前用户是否有执行权限

-L

测试软链接是否存在

整数值比较
[ 整数1 操作符 整数2]

二、 常用的测试操作符

操作符含义符号表示

-eq

等于

==

-ne

不等于

!=luo

-gt

大于

\>

-ge

大于等于

>=或=>

-lt

小于

\<

-le

小于等于

<=或=<
格式一 
test 整数1 操作符 整数2

格式二  

省略test格式

三、字符串比较

格式一

 
[ 字符串1 = 字符串2 ]                  判断两个字符串是否相同
 
[ 字符串1 != 字符串2 ]                 判断两个字符串是否不相同
 
[[ 字符串1 =~ 字符串2 ]]               判断是否包含

格式二 

[ -z  "字符串" ]                         检查字符串是否为空(zero),对于未定义或赋予 
                                         空值的变量将视为空串
 
[ -n  "字符串" ]                             检查是否有字符串存在

注意:

  • -z 后面字符串可以不带双引号
  • -n 后面字符串需要带双引号
  • 所以字符串判断最好都加上双引号

四、逻辑测试

常用的测试操作符
操作符符号名称解释
-a&&逻辑且(而且)前后条件都要成立
-o||逻辑或(或者)只需前后条件中一个成立
逻辑否否定
格式一

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

         

格式二

 命令1  操作符  命令2

 格式三

 [[ 表达式1 符号 表达式2 ]] 

三元运算符


[ 表达式1 ] || 命令1              如果表达式1条件成立不会执行或运算符后面的命令1,如果表达      
                                  式1条件不成立则会执行或运算符后面的命令1
 
[ 表达式1 ] && 命令1 || 命令2     如果表达式1条件成立则执行命令1,如果表达式1条件不成立则       
                                 命令2
 
[ ! 表达式1 ]                     取反,如果表达式1条件成立则最终结果为条件不成立

五、if语句

单分支结构
if 条件测试操作
 
then
 
命令序列
 
fi
分支结构
if 条件测试操作
 
then
 
命令序列 1
 
else
 
命令序列 2
 
fi

多分支结构
    if [ 表达式 ];then
        语句1
    elif [ 表达式 ];then
        语句2
    elif [ 表达式 ];then
        语句2
    fi

 六、case语句结构

case多分支结构
case多分支结构
case 变量值 in
模式 1)
命令1
;;
模式 2)
命令2
;;
.....(可以添加多个条件)
esac 这就是case的反过来的字母

  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值