Shell编程——条件语句

一、条件测试:

test 测试命令 :

  • 格式1 :test 条件表达式
  • 格式2: [ 条件表达式 ]
    注意:此表达式中括号前后需要空格
    在这里插入图片描述
1、文件测试:

根据给定的路径名称,判断对应的是文件还是目录,或者判断文件是否可读、可写、可执行性等。

–d: 测试是否为目录( Directory )

  • -e: 测试目录或文件是否存在 ( Exist )
  • -f : 测试是否为文件 ( File )
  • -r : 测试当前用户是否有权限读取 ( Read )
  • -w: 测试当前用户是否有权限写入 ( Write )
  • -x : 测试当前用户是否有权限执行 ( excute )
2、整数值比较:

整数值比较指的是根据给定的两个整数量,判断第一个数与第二个数的关系。

-eq : 第一个数等于 (equal)第二个数
-ne :第一个数不等于(not equal)第二个数
-gt : 第一个数大于(greater than)第二个数
-lt : 第一个数小于 (lesser than)第二个数
-le : 第一个数小于或者等于 (lesser or equal)第二个数
-ge : 第一个数大于或等于 (greater or equal)第二个数

3、字符串比较:

用于检查用户输入,系统环境等是否满足条件,在提供交互式操作的shell脚本中,也可以用来判断用户输入的位置参数是否符合要求。

格式1:[ 字符串 1= 字符串2 ]
格式2:[字符串 1 != 字符串2 ]

  • = : 字符串内容相同
  • != : 字符串内容不同,!号表示相反的意思
  • -z : 字符串内容为空
4、逻辑测试:

判断两个或者多个条件之间的依赖关系。

  • 格式1 : [ 表达式1 ] 操作符 [ 表达式2 ]

  • 格式2: 命令1 操作符 命令2

  • -a或&& :逻辑与,“而且” 的意思

  • -o 或 || :逻辑或, “或者”的意思

  • ! : 逻辑否

二、if 语句:

当我们遇到需要选择执行的命令语句较多时,可以使用 if 条件语句,可以更好的整理脚本结构,使得层次分明,清晰易懂。

(1)单分支的 if 语句:

分支指的是不同测试结果所对应的执行语句(一条或者多条)。对于单分支的选择结构,只有在“条件成立”时才会执行相应的代码,否则不执行如何操作。

1、语法结构:
if 条件测试操作
then 命令序列
fi
在这里插入图片描述
2、操作实例:
在这里插入图片描述
在这里插入图片描述

(2)双分支的 if 语句:

对于双分支的选择结构,要求针对“条件成立”、“条件不成立” 两种情况分别执行不同的操作

1、语法格式:
if 条件测试操作
then
命令序列1
else
命令序列2
fi
在这里插入图片描述
2、操作实例:
输入一个成绩,如果数字比90大的话,则奖励一个手机,否则的话惩罚10块钱。在这里插入图片描述
在这里插入图片描述
(3)多分支 if 语句:
由于 if 语句可以根据测试结果的成立、不成立来分别执行操作,所以可以嵌套使用,进行多次判断。

1、语法结构:
if 条件测试操作1
then
命令序列1
elif 条件测试操作2
then
命令序列2
else
命令序列3
fi在这里插入图片描述
2、操作实例1:
跑步比赛,输入你的比赛成绩,如果成绩小于10,则进入决赛,再根据性别分入相对应的组别,如果成绩不合格,则淘汰。
在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值