归纳 if/case语句 shell脚本练习
2021/8/2 7:07:26
本文主要是介绍归纳 if/case语句 shell脚本练习,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
if、case语句脚本练习
1.检查用户家目录中的 test.sh 文件是否存在,并且检查是否有执行权限
2.提示用户输入100米赛跑的秒数,要求判断秒数大于0且小于等于10秒的进入选拔赛,大于10秒的都淘汰,如果输入其它字符则提示重新输入;进入选拔赛的成员再进一步判断男女性别,男生进男生组,女生进女生组,如果输入错误请提示错误
3.用case语句解压根据后缀名为 .tar.gz 或 .tar.bz2 的压缩包到 /opt 目录
4.提示用户输入内容,使用if 语句判断输入的内容是否为整数。
5.根据上题再判断输入的内容是奇数还是偶数。
6.用if 语句判断主机是否存活
7.用case语句在/etc/init.d/目录中写一个firewalld脚本,并加入到系统服务管理中,使能够使用 service firewalld start|stop|restart|status 来管理firewalld服务,要求如果命令选项不对,则提示 “用法: $0 {start|stop|status|restart}”。
1.检查用户家目录中的 test.sh 文件是否存在,并且检查是否有执行权限
#!/bin/bash if [ -f ~/test.sh ];then echo "该文件存在" if [ -x ~/test.sh ];then echo "test.sh 文件有可执行权限" else echo "test.sh 文件没有可执行权限" fi else echo "test.sh 文件不存在" fi
2.提示用户输入100米赛跑的秒数,要求判断秒数大于0且小于等于10秒的进入选拔赛,大于10秒的都淘汰,如果输入其它字符则提示重新输入;进入选拔赛的成员再进一步判断男女性别,男生进男生组,女生进女生组,如果输入错误请提示错误
#!/bin/bash read -p "请输入100米赛跑的秒数:" ms if [ $ms -gt 0 -a $ms -le 10 ] &> /dev/null then echo "你进入选拔赛!" read -p "请输入你的性别:" xb if [ $xb = '男' ] then echo "你已经进入男生组!" elif [ $xb = '女' ] then echo "你已经进入女子组!" else echo "请正确输入!" fi elif [ $ms -gt 10 ] &> /dev/null 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 语句判断输入的内容是否为整数。
#!/bin/bash read -p "请输入数字:" num expr $num + 1 &> /dev/null if [ $? -eq 0 ];then echo "您输入的$num 为整数" else echo "您输入的$num 不是整数" fi
5、根据第四题判断输入的内容是奇数还是偶数。
#!/bin/bash read -p "请输入数字:" num expr $num + 1 &> /dev/null if [ $? -eq 0 ];then echo "您输入的$num 为整数" else echo "您输入的$num 不是整数" fi expr ${num} % 2 &> /dev/null if [ $? -ne 0 ];then echo "你输入的$num 是一个偶数" else echo "您输入的$num 是一个奇数" fi
6.用if 语句判断主机是否存活
#!/bin/bash ping -c 3 -i 1 -w 3 $1 &> /dev/null if [ $? -eq 0 ];then echo "$1 is online" else echo "$1 is offline" fi
7.用case语句在/etc/init.d/目录中写一个firewalld脚本,并加入到系统服务管理中,使能够使用 service firewalld start|stop|restart|status 来管理firewalld服务,要求如果命令选项不对,则提示 “用法: $0 {start|stop|status|restart}”。
#!/bin/bash read -p "请输入您的命令:" firewalld case $firewalld 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
这篇关于归纳 if/case语句 shell脚本练习的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-24怎么切换 Git 项目的远程仓库地址?-icode9专业技术文章分享
- 2024-12-24怎么更改 Git 远程仓库的名称?-icode9专业技术文章分享
- 2024-12-24更改 Git 本地分支关联的远程分支是什么命令?-icode9专业技术文章分享
- 2024-12-24uniapp 连接之后会被立马断开是什么原因?-icode9专业技术文章分享
- 2024-12-24cdn 路径可以指定规则映射吗?-icode9专业技术文章分享
- 2024-12-24CAP:Serverless?+AI?让应用开发更简单
- 2024-12-23新能源车企如何通过CRM工具优化客户关系管理,增强客户忠诚度与品牌影响力
- 2024-12-23原创tauri2.1+vite6.0+rust+arco客户端os平台系统|tauri2+rust桌面os管理
- 2024-12-23DevExpress 怎么实现右键菜单(Context Menu)显示中文?-icode9专业技术文章分享
- 2024-12-22怎么通过控制台去看我的页面渲染的内容在哪个文件中呢-icode9专业技术文章分享