Shell 编程之条件语句

文件测试

-d :测试是否为目录( Directory
-e :测试目录或文件是否存在( Exist
  -f :测试是否为文件( File
- r :测试当前用户是否有权限读取( Read
  -w :测试当前用户是否有权限写入( Write
  -x :测试是否设置有可执行( Excute )权限
整数值比较
-eq :第一个数等于( Equal )第二个数。
  -ne :第一个数不等于( Not Equal )第二个数。
  -gt :第一个数大于( Greater Than )第二个数。
  -lt :第一个数小于( Lesser Than )第二个数。
  -le :第一个数小于或等于( Lesser or Equal )第二个数。
  -ge :第一个数大于 或等于( Greater or Equal )第二个数
字符串比较
  = :第一个字符串与第二个字符串相同
  != :第一个字符串与第二个字符串不相同,其中 “!” 符号表示取反
-z :检查字符串是否为空( Zero ),对于未定义或赋予空值的变量将视为空串逻辑测试
&& :逻辑与,表示 而且 ,只有当前后两个条件都成立时,整个测试命令的返回值才为 0 (结果成立)。使用 test 命令测试时, “&&” 可改为 “-a”
  || :逻辑或,表示 或者 ,只要前后两个条件中有一个成立,整个测试命令的返回值即为 0(结果成立)。使用 test 命令测试时,“||”可改为“-o”。
! :逻辑否,表示 ,只有当指定的条件不成立时,整个测试命令的返回值才为 0 (结果成立)
if 语句的结构
1. 单分支 if 语句
语法格式如下
if 条件测试操作
then
命令序列
fi
2. 双分支 if 语句
语法格式如下
if 条件测试操作
then
命令序列 1
else
命令序列 2
fi
3. 多分支 if 语句
语法格式如下
if 条件测试操作 1
then
命令序列 1
elif 条件测试操作 2
then
命令序列 2
else
命令序列 3
fi
case 语句的结构
case 分支语句的语法结构如下
case 变量值 in
模式 1)
命令序列 1
;;
模式 2)
命令序列 2
;;
……
* )
默认命令序列
esac
case 行尾必须为单词 “in” ,每一模式必须以右括号 “)” 结束。
双分号 “;;” 表示命令序列的结束。
模式字符串中,可以用方括号表示一个连续的范围,如 “[0-9]” ;还可以用竖杠符号 “|”表示或,如 “A|B”
最后的 “*)” 表示默认模式,其中的 * 相当于通配符
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值