C04S02-Shell编程之条件语句

一、条件测试

1. 条件测试概念

先设定一个条件,判断设定是否满足(真或假,True或False),然后根据判断条件来执行一段特定的代码。

如果判断为真,则状态码$?值为0;如果为假,则状态码$?值非0。

2. 条件测试的常见格式

2.1 文件条件测试

test [操作符] 文件
# 或者
[ 操作符 文件 ]
  • 使用第二种方法要注意空格。

常见的操作符:

操作符功能
-e判断文件(目录)是否存在
-d判断是否为目录
-f判断是否为普通文件
-r判断当前用户是否有可读权限
-w判断当前用户是否有可写权限
-x判断当前用户是否有可执行权限

2.2 整数条件测试

test 整数1 操作符 整数2
# 或者
[ 整数1 操作符 整数2 ]

常见的操作符:

操作符功能
-eq、==等于
-ne、!=不等于
-gt、>大于
-lt、<小于
-ge、>=大于或等于
-le、<=小于或等于
  • 如果使用>、>=、<、<=等符号,需要使用双小括号(()),双中括号[[]]只能适用于>和<。

2.3 字符串条件测试

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

常见的操作符:

操作符功能
==判断内容是否相同
!=判断内容是否不同

2.4 逻辑条件测试

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

常见的操作符:

操作符功能
-a、&&逻辑与,表示而且,全为真才为真
-o、||逻辑或,表示或,一个为真就为真
!逻辑否

注意,两种操作符的写法不同。

[ 表达式1 -a 表达式2 ]

[ 表达式1 ] && [ 表达式2 ]
# 或者
[[ 表达式1 && 表达式2 ]]

二、IF语句

1. IF单分支语句

if 判断条件
then
  # 条件成立执行的代码
fi

2. IF双分支语句

if 判断条件
then
  # 条件成立执行的代码
else
  # 条件不成立执行的代码
fi

3. IF多分支语句

if 判断条件1
then
  # 条件1成立执行的代码
elif 判断条件2
then
  # 条件2成立执行的代码
else
  # 条件1和条件2都不成立执行的代码
fi

三、CASE语句

case 变量 in
模式1)
  符合模式1执行的代码
;;
模式2)
  符合模式2执行的代码
;;
*)
  都不符合执行的代码
esac
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值