shell条件测试if和case语句
Posted 谷雨道长
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell条件测试if和case语句相关的知识,希望对你有一定的参考价值。
@[toc]
1.条件测试
test命令
测试表达式是否成立,若成立返回0,否则返回其他数值
格式1: test 条件表达式
格式2: [ 条件表达式 ]
1.文件测试
[ 操作符 文件或目录 ]
常用的测试操作符
2.整数测试
[ 整数1 操作符 整数2 ]
常用的测试操作符
awk用法
bc工具用法
3、字符串比较
格式1 [ 字符串1 = 字符串2 ]
格式1 [ 字符串1 != 字符串2 ]
格式2 [ -z 字符串 ]
常用的测试操作符
常用的测试操作符
= | 字符串内容相同 |
---|---|
!= | 字符串内容不同,!号表示相反的意思 |
-z | 字符串内容为空 |
4、逻辑测试
格式1:[ 表达式1 ] 操作符 [ 表达式2 ] 格式2:命令1 操作符 命令2 |
-a或&& | 逻辑与,而且的意思 |
---|---|---|
-o或ll | 逻辑或,或者的意思 | |
! | 逻辑否 |
a=4
[ $a -ne 1 ] && [ $a != 2 ] 等同于 [ $a -ne 1 -a $a != 2 ]
5.if语句的结构
1、单分支结构
新建一个 ping.sh判断是否能ping通一个网段,如果能ping通表示online.
2、双分支结构
判断目标主机是否存活,显示检验结果
新建一个 ping.sh判断是否能ping通一个网段,如果能ping通表示online,如果不能ping通表示down.
3、多分支结构
编辑一个考试成绩脚本,要求100分无需抄写,90-99抄写十遍,70-89抄写二十遍,60-69抄写三十遍,60分以下全部抄写30遍。
6.case语句的结构
case多分枝结构
case语句注意事项
==①case行首必须以单词“in”,每一模式必须以单个右括号")"结束==
==②双分号";;"表示命令序列的结束==
==③模式字符串中,可以用方括号表示一个连续的范围,如"[0-9]";还可以使用竖杠|表示或,比如a|b最后的)表示默认模式,其中的相当于通配符==
编辑一个考试成绩脚本,要求100分无需抄写,90-99抄写十遍,70-89抄写二十遍,60-69抄写三十遍,60分以下全部抄写30遍。
以上是关于shell条件测试if和case语句的主要内容,如果未能解决你的问题,请参考以下文章