shell脚本:if多分支语句简单案例

if

if多分支执行流程:首先对if后面的条件进行判断,若成立则执行then后面的命令序列,然后转到fi结束。若if条件不成立,则跳过,对elif后面的条件进行判断,若成立,则执行then后面的命令序列,然后转到fi结束,以此类推…若所有条件都不成立,则执行else后面的命令序列,然后转到fi结束,执行后续命令。

语法


if [ 条件判断1 ] ; then
commands
elif [ 条件判断2 ] ; then
commands
elif [ 条件判断3 ] ; then
commands

else
commands
fi


简单案例

例1:用多分支 if 条件语句来判断用户输入的是一个文件还是一个目录。
脚本内容:

#!/bin/bash
#date:2020-2-26
#描述:判断文件类型
read -p "请输入一个文件:" file
if [ -z $file ]
then
	echo	"错误!输入的文件为空."
elif [ ! -e $file ]
then
	echo	"错误!输入的文件不存在."
elif [ -f $file ]
then
	echo	"$file是一个普通文件"
elif [ -d $file ]
then
	echo	"$file是一个目录"
else
	echo	"$file是其他类型文件"
fi

执行结果:

[root@linus ~]# sh if_test1.sh 
请输入一个文件:1.sh
1.sh是一个普通文件
[root@linus ~]# sh if_test1.sh 
请输入一个文件:/var
/var是一个目录
[root@linus ~]# sh if_test1.sh 
请输入一个文件:/backup
错误!输入的文件不存在.
[root@linus ~]# sh if_test1.sh 
请输入一个文件:
错误!输入的文件为空.
您在 /var/spool/mail/root 中有新邮件

例2:根据输入的考试分数的不同来区分优秀,合格,不合格。
脚本内容:

#!/bin/bash
#date:2020-2-26
#描述:考试分数判断
read	-p	"请输入一个您的成绩(0-100):" num
if [ $num -gt 100 ]
then
	echo	"您输入的数字超过范围,请重新输入"
elif [ $num -ge 80 ]
then
	echo	"您的分数为$num,优秀"
elif [ $num -ge 60 ]
then	
	echo	"您的分数为$num,及格"
else
	echo	"您的分数为$num,不及格"
fi

执行结果:

[root@linus ~]# sh if_test2.sh 
请输入一个您的成绩(0-100)10
您的分数为10,不及格
[root@linus ~]# sh if_test2.sh 
请输入一个您的成绩(0-100)60      
您的分数为60,及格
[root@linus ~]# sh if_test2.sh 
请输入一个您的成绩(0-100)100
您的分数为100,优秀
[root@linus ~]# sh if_test2.sh 
请输入一个您的成绩(0-100)1000
您输入的数字超过范围,请重新输入
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

虚伪的空想家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值