shell编程之条件原句的应用,很详细,学shell必备基本的技能!

一:条件测试

1.1:文件测试

1.1.1:test命令

test命令:测试特定的表达式是否成立,当条件成立时,测试语句的返回值为0,否则为其他数值

命令基本格式
格式一:test 条件表达式
格式二:[ 条件表达式 ]		'两端要有空格,此法更为常用'

1.1.2:文件测试

文件测试基本格式
[ 操作符 文件或目录 ]  '注意两端空格'

&?  返回0表示条件成立,返回非零值表示条件不成立
&&  逻辑与,"而且"的意思
||  逻辑或,"或者"的意思

在这里插入图片描述

1.2:整数测试

整数值比较

命令基本格式
[ 整数1 操作符 整数2 ]		

在这里插入图片描述

1.3:字符串与逻辑测试

1.3.1:字符串比较

常用的格式
格式一:[ 字符串1 = 字符串2 ]
	   [ 字符串1 != 字符串2 ]
格式二:[ -z 字符串 ]

在这里插入图片描述

1.3.2:逻辑测试

基本格式
格式一: [ 表达式1 ] 操作符 [ 表达式2 ] ...
格式二: 命令1 操作符 命令2 ...

在这里插入图片描述

二:if语句

2.1:if单分支语句

单分支结构(基本格式)
if 条件测试操作
	then  命令序列
fi
单分支结构(举例)
if 磁盘已用空间>80%
	then  报警
fi

如图所示:
在这里插入图片描述

exit 1 异常退出

exit 0 正常退出

示例:

[root@localhost opt]# vim eee.sh

#!/bin/bash
dir "/opt/demo02"
if [ ! -d $dir ]	'若不存在/opt/demo2,则执行下述命令'
 then
        mkdir -p $dir
        echo "$dir创建成功"
fi
[root@localhost opt]# chmod +x eee.sh 
[root@localhost opt]# ./eee.sh 
/opt/demo02创建成功

2.2:if双分支语句

双分支结构(基本格式)
if 条件测试操作
	then  命令序列1
	else  命令序列2
fi
双分支结构(举例)
if 80端口是否在监听
	then  网站服务已在运行
	else  启动httpd服务
fi

如图所示:
在这里插入图片描述

示例:

[root@localhost opt]# vim eee.sh
#!/bin/bash
dir="/opt/demo02"
if [ ! -d $dir ]
 then
        mkdir -p $dir
        echo "$dir创建成功"
  else
        echo "$dir已存在"
fi
[root@localhost opt]# ./eee.sh 
/opt/demo02已存在

2.3:if多分支语句

多分支结构(基本格式)
if 条件测试操作1
	then  命令序列1
elif  条件测试操作2
	then  命令序列2
else
	命令序列3
fi
多分支结构(举例)
if 分数为85~100之间
	then  判为优秀
elif  分数为70~84之间
	then  判为合格
else
	判为不合格
fi

如图所示:
在这里插入图片描述

示例:

举例:判断分数范围,分数优秀,合格,不合格三挡
[root@localhost opt]# vim ggg.sh
#!/bin/bash
read -p "请输入成绩:" score
if [ $score -lt 0 ] || [ $score -gt 100 ]
  then
        echo "输入有误"
        exit 1;
elif [ $score -ge 85 ] && [ $score -le 100 ]
  then
        echo "成绩优秀"
elif [ $score -ge 70 ] && [ $score -le 84 ]
  then
        echo "成绩合格"
else
        echo "成绩不合格"
fi

[root@localhost opt]# ./ggg.sh 
请输入成绩:100
成绩优秀
[root@localhost opt]# ./ggg.sh 
请输入成绩:82
成绩合格
[root@localhost opt]# ./ggg.sh 
请输入成绩:53  
成绩不合格
[root@localhost opt]# ./ggg.sh 
请输入成绩:111
输入有误
[root@localhost opt]# ./ggg.sh 
请输入成绩:-23
输入有误

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值