if、case例题

 

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

复制代码
复制代码
#!/bin/bash

if [ -f ~/test.sh ];then
    echo "文件存在"
else
    echo "文件不存在"
fi

if [ -x ~/test.sh ];then
    echo "文件有可执行权限"
else
    echo "文件没有可执行权限"
fi
复制代码
复制代码

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

复制代码
复制代码
#!/bin/bash

read -p "请输入100米赛跑的秒数:" a

if [ $a -gt 0 -a $a -le 10 ];then
    echo "进入决赛"

    read -p "请输入你的性别:" sex
    if [ $sex = '女' ];then
        echo "进入女子组"
    elif [ $sex = '男' ];then
        echo "进入男子组"
    else
        echo "您输入有误,请重新输入"
    fi
elif [ $a -gt 10 ];then
    echo "不好意思,您被淘汰了"
else
    echo "您输入有误,请重新输入"
fi
复制代码
复制代码

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

复制代码
复制代码
#!/bin/bash

case $1 in
*.tar.gz)
    if [ -f $1 ];then
        tar -zxvf $1 -C /opt &> /dev/null
    else
        echo "$1 不存在"
    fi
;;
*.tar.bz2)
    if [ -f $1 ];then
        tar -jxvf $1 -C /opt &> /dev/null
    else
        echo "$1 不存在"
    fi
;;
*)
    echo "文件输入有误"
esac
复制代码
复制代码

4.提示用户输入内容,使用if 语句判断输入的内容是否为整数。
5.根据上一题再判断输入的内容是奇数还是偶数。
复制代码
复制代码
#!/bin/bash

read -p "请输入数字" num
if [ $num -lt 0 -o $num -gt 0 ];then
    if [ $[$num % 2] = 0 ];then
        echo "这是个偶数"
    else
        echo "这是个奇数"
    fi
elif [ $num -eq 0 ];then
    echo "非奇非偶"
else
    echo "这不是整数"
fi
复制代码
复制代码

 6.用if 语句判断主机是否存活

复制代码
复制代码
#!/bin/bash

ping -c 3 -i 0.5 -w 5 $1

if [ $? -eq 0 ];then
    echo "主机在线"
else
    echo "主机离线"
fi
复制代码
复制代码

7.用case语句在/etc/init.d/目录中写一个firewalld脚本,并加入到系统服务管理中使能够使用 service firewalld start|stop|restart|status 来管理firewalld服务,要求如果命令选项不对,则提示 “用法: $0 {start|stop|status|restart}”。

复制代码
复制代码
#!/bin/bash

read -p "请输入start|stop|status|restart来管理防火墙:" z
case $z in
"start")
    systemctl start firewalld
    echo "防火墙以开启"
;;
"stop")
    systemctl stop firewalld
    echo  "防火墙以关闭"
;;
"status")
    systemctl status firewalld
    echo "防火墙正在运行"
;;
"restart")
    systemctl restart firewalld
    echo "防火墙重启"
;;
*)
    echo "用法 $0 {start|stop|status|restart}"
;;
esac
复制代码
复制代码

 

posted @   我出必行  阅读(96)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示