2 - Shell编程之条件语句

目录

一、条件测试

1. test 命令

2.文件测试

3.整数值比较

4.字符串比较

5.逻辑测试

二、if语句

1. if语句的结构

1.1 单分支结构

2.双分支结构

3.多分支结构

三、case语句


一、条件测试

1. test 命令

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

格式一: test 条件表达式

格式二 : [ 条件表达式 ]

2.文件测试

[ 操作符 文件或目录 ]

常用的操作符解释
-e

测试目录或文件是否存在(Exist)

-d

测试是否为目录(Directory)

-f测试是否为文件(File)
-r

测试当前用户是否有权限读取(Read)

-w测试当前用户是否有权限写入(Write)
-x测试是否设置有可执行(Excute)权限
-L测试是否为符号链接

3.整数值比较

格式1:

[ 整数变量1 操作符 整数变量2 ]

常用操作符解释
-eq等于
-ne不等于
-gt大于
-lt小于
-ge大于等于
-le

小于等于

格式2:

( 整数值1 操作符 整数值2 )

常用操作符解释
==等于
!=不等于
\>大于
\<小于
>=大于等于
<=小于等于

4.字符串比较

格式1:

[ 字符串1 操作符 字符串2 ]

常用操作符解释
=相同
!=不相同

格式2:

[ 操作符 字符串 ]

常用操作符解释
-z检查字符串是否为空(Zero)
-n检查是否有字符串存在

5.逻辑测试

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

常用操作符解释
&&逻辑与(前后都成立)
-a
||逻辑或(成立其中一个)
-o
!逻辑否

二、if语句结构

1. 单分支结构

if 条件测试操作
  then 命令序列
fi

2.双分支结构

if 条件测试操作
  then 命令序列1
  else 命令序列2
fi

3. 多分支结构

if 条件测试操作1
  then 命令序列1
elif 条件测试操作2
  then 命令序列2
...
else ...
...
fi

三、case语句结构

#!/bin/bash
read -p "请输入一个字符:" KEY
case "$KEY" in    #"KEY"为变量名
[a-z]|[A-Z])    #匹配的变量值
  echo "输入的是字母"    #执行的操作
;;
[0-9])
  echo "输入的是数字"
;;
*)
  echo "输入的是其他字符"
#没有匹配的值时执行的操作
esac    #结束语句

  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值