shell编程之条件语句

本文详细介绍了BashShell中的条件测试、操作符、字符串比较、逻辑运算以及多分支结构,如If-Then-Else、Case语句和嵌套判断,还展示了如何使用这些语法判断IP地址、数值类型和执行不同操作。
摘要由CSDN通过智能技术生成

条件测试:

test条件测试的表达式

[条件表达式]

Test常用的操作符:

  1. -e测试目录和文件是否存在

2. -d 测试是否为目录

3. -f 测试是否为文件

4 -r 测试当前用户是否有读权限

5. -w 测试当前用户是否有写权限

6.-x 测试当前用户是否有执行权限

test比较字符串。

比较符号:

-eq 等于

-ne 不等于

-gt 大于

-lt 小于

-le 小于等于

-ge 大于等于

以上只能用于比较整数,不能用于字符串

==等于(即可以比整数,也可以比字符串)

!= 不等于    >大于     <小于      <= 小于等于      >= 大于等于

比如说

4 -gt 5

[]两边的值必须要有空格

双中括号功能更强大,语法和单中括号一致

避免歧义,支持正则表达式

-z 检测字符串是否为空

逻辑测试:

且  条件测试的条件都要为真 -a  &&

或  有一边满足即可 -o ||

! 逻辑否

表达式的格式  [表达式1] 操纵符

用-a  -o表达式做表达式一定要放在一个括号里

双中括号只能用&& || 表示逻辑且或逻辑或

单中括号只能用-a -o  要么分开写只能用 && ||

重点

单分支结构

If [[]]

 Then

  命令序列

fi

两种写法

双分支结构

If[]

 Then

  Echo”满足if条件执行的语句”

Else

  Echo“不满足if条件执行的语句”

fi

要求有1个ip地址,这个需要用户你手动输入,然后判断,ping同要保留到/pt/hots.txtping不通,打印结果,ip地址不可用。

现在我有1-100这么多数,输入一个数,来判断是偶数还是基数

第二种:

多分枝结构

If[条件1]

Then

 执行条件1的命令序列

Elif[条件2]

 Then

 执行条件2的命令序列

Else

上述都不执行,执行else的命令序列

Fi

现在我们有一个分数值:

0-100

大于等于85小于等于100

优秀

大于等于70 小于等于84

一般

大于等于60 小于等于69

及格

上面的条件都不满足,抄30遍

If嵌套:

把上面的题目进行过滤,

第一步,进行过滤:只能是整数才能继续判断:

0-100

输入一个数,判断是整数,而且范围必须在0-100

才能继续执行:

输入的数字是基数还是偶数

当用户输入一个数,判断是否为整数,但是根据数字的大小打印不同消息

10

输入的数字大于10

输入的数字比10小

输入的数字和10相等

fi

else

输入的数字不合法

case语句结构

检测语法逻辑命令 

 bash -x one.sh脚本名称

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值