Shell编程之条件语句与case语句

目录

1.条件测试

1.1 文件测试

1.2 整数测试

1.3 字符串测试

1.4 逻辑测试

2.if语句

2.1 单分支if语句

2.2 双分支if语句

2.3 多分支if语句

3.case分支语句


1.条件测试

test命令

Shell环境根据命令执行后的返回状态值($?)来判断是否执行成功,当返回值为0(真true)时表示成功,返回值为非0值(假false)时表示失败或异常。
test 命令,可以对特定条件进行测试,并根据返回值来判断条件是否成立($?返回值为 0 表示条件成立)。

示例:

1.1 文件测试

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

常用的操作符


(1)用test命令测试

(2)用【条件表达式】测试

1.2 整数测试

整数值比较指的是根据给定的两个整数值,判断第一个数与第二个数的关系,如是否大于、等于、小于第二个数。整数值比较的常用操作选项如下,使用时将操作选项放在要比较的两个整数之间。

格式:
test 整数1 选项 整数2 
[ 整数1 选项 整数2 ]

(1)用test命令测试

(2)用【条件表达式】测试

(3)支持变量表示

(4)运算表达式判断,[[ 运算表达式 选项 整数]]        

1.3 字符串测试

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

格式:
test “字符串1” 选项 “字符串2” 
[ “字符串1” 选项 “字符串2” ]
[[ "字符串1" =~ “字符串2” ]]

操作符:

符号说明
=字符串内容相同
!=字符串内容不相同,!表示相反
-z字符串内容为空
-n检查是否有字符串
=~判断包含效果,加两个[]

1.4 逻辑测试

逻辑测试指的是判断两个或多个条件之间的依赖关系。当系统任务取决于多个不同条件时,判断是根据这些条件同时成立还是只要有其中一个成立等情况,需要有一个测试过程。

常用的测试操作符

!


$$

||

补充:

1.三元运算符

条件表达式?值1:值2  
JAVA C三元运算符:当条件表达式成立则取值1,不成立则取值2

2.[ 表达式1 ] && 命令1 || 命令2   

如果表达式1条件成立则执行命令1,如果表达式1条件不成立则命令2

3.[ 表达式1 ] || 命令1 

如果表达式1条件成立不会执行或运算符后面的命令1,如果表达式1条件不成立则会执行或运算符后面的命令1

4.判断进程是否正在运行的方法

systemctl status 进程服务
netstat -ln(t/u)p | grep 进程名/:端口
ss -lntp | grep 进程名/:端口
lsof -i :端口
ps -elf | grep 进程名 | grep -v "grep" | wc -l
pidof 进程名 | wc -w
killall -0 进程名

2.if语句

2.1 单分支if语句

单分支if语句:对于单分支的选择结构,只有在==“条件成立”时才会执行相应的代码==,否则不执行任何操作。

示例:


2.2 双分支if语句

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

示例:

2.3 多分支if语句

多分支结构能够根据多个互斥的条件分别执行不同的操作,实际上等同于嵌套使用的if语句。


案例:

案例:判断一个输入的内容是否为整数,如是整数再判断是基数还是偶数

-

3.case分支语句



案例1:

案例2:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值