条件测试和判断语句

Shell条件测试与流程控制

条件测试基本语法:
①test expression
②[]
若为真,echo $?会返回0,假则返回1

1.字符串测试

string      是否为空字符串     只能使用test命令

string1 == string2  "两字是否相等"    既可以用test,也可以用[]

string1 != string2  "是否不相等"     既可以用test,也可以用[]

-n string   是否为非字符串             既可以用test,也可以用[]

-z string       是否为空串           既可以用test,也可以用[]

2.整数测试
语法:

①test number1 op number2
②[ number1 op number2 ]
*op表示运算符的意思
*!注整数测试一定不要用"="或"!="
*![ ]两边都必须留出一个空格,否则会出现错误
运算符如下:
-eq     等于
-ne     不等于
-gt     大于
-lt     小于
-ge     大于或等于
-le     小于或等于   

3.文件测试
语法:

①test op file
②[ op file ]

op              说明
-a              是否存在
-b              是否存在且为块文件
-c              是否存在且为字符文件
-d              是否存在且为目录
-w              是否可写
-r              是否可读
-x              是否可执行
-l              是否已存在并且为符号链接

总结:
①文件是否存在
②文件的类型
③文件的访问权限

特殊:
两个文件之间进行比较:
文件1 -nt 文件2     文件1的修改时间是否早过文件2
文件1 -ot 文件2    文件1的修改时间是否比文件2晚
文件1 -ef 文件2    判断两个文件是否相同,可用于判断硬链接

这里写图片描述

4.逻辑操作符

!expression                 逻辑非,若值为假,则结果为真
expression1 -a  expression2  逻辑与,真真为真
expression1 -o expression2  逻辑非,有一真为真,有一假为假

5.条件判断语句
①简单的if语句

if expreesion
then
  statement1
  statement2
  .....
fi

②使用if else语句进行流程控制

if expression
then
      state1
      state2
      ....
else
      state3
      state4
      ...
fi

③使用if elif语句进行多条件判断,更简便处理分支

if expre1
then
   state1
   ...
elif expre2
then
   state2
   ...
elif expre3
then 
   state3
   ...
else
   state4
   ...
fi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值