if条件语句需求

需求1

检查用户家目录中的 test.sh 文件是否存在,并且检查是否有执行权限

# vim test1.sh
read -p "输入文件名:" num
if [[ -f ~/$num && $? -eq 0 ]]
then
if [[ -x ~/$num && $? -eq 0 ]]
then
 echo "有执行权限"
else
 echo "无执行权限"
fi
else
 echo "不存在"
fi
# wq!

检验:

在这里插入图片描述

需求2

提示用户输入100米赛跑的秒数,要求判断秒数大于0且小于等于10秒的进入选拔赛,
大于10秒的都淘汰,
如果输入其它字符则提示重新输入;进入选拔赛的成员再进一步判断男女性别。
男生进男生组,女生进女生组,如果输入错误请提示错误(整数判断,小数判断 )

# vim test2.sh
read -p "请输入100米赛跑成绩,注意请输入整数:" grade
if [[ $grade -eq $grade ]] &> /dev/null
then
if [[ $grade -gt 0 && $grade -le 10 ]]
then
 echo "跑步成绩符合0~10秒,进入选拔赛"
read -p "选拔赛成员性别判断(female/male):" gender
if [[ $gender == female ]]
then
 echo "恭喜进入女生组"
elif [[ $gender == male ]]
then
 echo "恭喜进入男生组"
else
 echo "输入错误" 
fi
else
 echo "淘汰"
fi
else
 echo "重新输入"
fi
# wq!

检验:sh test2.sh

在这里插入图片描述

需求3

用case语句解压根据后缀名为 .tar.gz 或 .tar.bz2 的压缩包到 /opt 目录
tar -zxvf、tar -jxvf

# vim test3.sh
read -p "请输入后缀名为.tar.gz或者.tar.bz2的压缩包名称:" a
case $a in
*.tar.gz)
tar -zxvf $a -C /opt
;;
*.tar.bz2)
tar -jxvf $a -C /opt
;;
esac
# wq!

验证:

在这里插入图片描述

需求4

提示用户输入内容,使用if 语句判断输入的内容是否为整数。判断范围0-100。

根据以上结果再判断输入的内容是奇数还是偶数。

# vim test4.sh
read -p "请输入整数数字" num
if [[ $num -eq $num ]] &> /dev/null
then
if [[ $num -ge 0 && $num -le 100 ]]
then
if [ $(($num%2)) -eq 0 ]
then
 echo "偶数"
else
 echo "奇数"
fi
else
 echo "超过范围"
fi
else
 echo "不是整数,结束"
fi
# wq!

验证:

在这里插入图片描述

需求5

用if 语句判断主机是否存活.保存到/opt/hosts.txt

ping -c 5 不显示ping的过程

# vim test6.sh
ping -c 5 $1 &> /dev/null
if [ $? -eq 0 ]
then
 echo "主机ip 存活"
 echo $1 >> /opt/host.txt
else
 echo "主机ip 不存活"
fi
# wq!
# ping -p -a -c 5 $1也可用-p命令,不显示ping的过程

验证:

在这里插入图片描述

需求6

用case语句控制 firewalld start|stop|restart|status 来管理firewalld服务,
要求如果命令选项不对,则提示输入不正确: {start|stop|status|restart}”。
stop start status restart

# vim test7.sh
systemctl $1 firewalld
[[ $1 == start ]] && a="1"
[[ $1 == stop ]] && a="2"
[[ $1 == status ]] && a="3"
[[ $1 == restart ]] && a="4"
case $a in
1)
 echo "开启"
;;
2)
 echo "停止"
;;
3)
 echo "状态"
;;
4)
 echo "重启"
;;
*)
 echo "输入不正确"
esac
# wq!

验证:

& a=“3”
[[ $1 == restart ]] && a=“4”
case $a in
1)
echo “开启”
;;
2)
echo “停止”
;;
3)
echo “状态”
;;
4)
echo “重启”
;;
*)
echo “输入不正确”
esac

wq!

``
验证:
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值