Shell条件练习题
Shell条件练习题
- Shell条件练习题
- 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
[ -f ~/test.sh ]
if [ $? -eq 0 ]
then
echo "test.sh文件存在于家目录中"
[ -x ~/test.sh ]
if [ $? -eq 0 ]
then
echo "test.sh文件具有执行权限"
else
echo "test.sh文件不具有执行权限"
fi
else
echo "test.sh文件不存在于家目录中"
fi
2.提示用户输入100米赛跑的秒数,要求判断秒数大于0且小于等于10秒的进入选拔赛,大于10秒的都淘汰,如果输入其它字符则提示重新输入;进入选拔赛的成员再进一步判断男女性别,男生进男生组,女生进女生组,如果输入错误请提示错误
#!/bin/bash
read -p "请输入您100米赛跑的秒数:" second
if [ $second -gt 0 -a $second -le 10 ]
then
echo "恭喜进入选拔赛"
read -p "请输入您的性别(男/女):" sex
if [ $sex = 男 ]
then
echo "您将进入男生组继续比赛"
elif [ $sex = 女 ]
then
echo "您将进入女生组继续比赛"
else
echo "输入错误,请重新输入:"
fi
elif [ $second -gt 10 ]
then
echo "很遗憾,您被淘汰了"
else
echo "输入错误,请重新输入:"
fi
3.用case语句解压根据后缀名为 .tar.gz 或 .tar.bz2 的压缩包到 /opt 目录
#!/bin/bash
case $jieya in
*.tar.gz)
if [ -f $jieya ]
then
tar -zxvf $jieya -C /opt &> /dev/null
echo "$jieya 文件解压成功"
else
ehco "$jieya 压缩文件不存在"
fi
;;
*.tar.bz2)
if [ -f $jieya ]
then
tar -jxvf $jieya -C /opt
echo “$jieya 文件解压成功”
else
echo "$jieya 压缩文件不存在"
fi
;;
*)
echo "文件名输入错误"
;;
esac
4.提示用户输入内容,使用if 语句判断输入的内容是否为整数。
#!/bin/bash
read -p "请输入一个整数:" num
expr $num + 0 &> /dev/null
if [ $? -eq 0 ]
then
echo "您输入的$num 是一个整数"
else
echo "您输入的$num 不是一个整数"
fi
5.根据上一题再判断输入的内容是奇数还是偶数。
#!/bin/bash
read -p "请输入一个整数:" num
expr $num + 0 &> /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 0.5 -w 2 $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 "输入start|stop|status|restart:来管理防火墙:" firewalld
case $firewalld in
"start")
systemctl start firewalld
echo "防火墙已开启"
;;
"stop")
systemctl stop firewalld
echo "防火墙已关闭"
;;
"restart")
systemctl restart firewalld
echo "防火墙已重启"
;;
"status")
systemctl status firewalld
echo "防火墙状态查看"
;;
*)
echo "用法:$0{start|stop|status|restart}"
;;
esac
Shell条件练习题的更多相关文章
- shell条件测试test
shell条件测试可以通过以下两种方式: test 参数 测试内容 [ 参数 测试内容 ] 一.测试文件类型: test -e 文件名 (测试文件是否存在) [ - ...
- shell 条件语句
shell 条件语句 #!/bin/bash # 条件语句 NUM1=100 NUM2=200 if (($NUM1 > $NUM2));then echo "$NUM1 greate ...
- shell基础练习题
shell 基础练习题 1.编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小 #!/bin ...
- shell条件测试语句实例-测试apache是否开启
终于理解了shell条件测试语句"!="和"-n"的用法区别,于是有了如下的shell脚本,做为练习. 第一种方法:测试apache是否开启?字符串测试 #!/ ...
- Shell循环练习题
Shell循环练习题 目录 Shell循环练习题 1.计算从1到100所有整数的和 2.提示用户输入一个小于100的整数,并计算从1到该数之间所有整数的和 3.求从1到100所有整数的偶数和.奇数和 ...
- [Shell]条件判断与流程控制:if, case, for, while, until
---------------------------------------------------------------------------------------------------- ...
- shell条件测试
文件状态测试-b filename : 当filename 存在并且是块文件时返回真(返回0)-c filename : 当filename 存在并且是字符文件时返回真-d pathname : 当p ...
- Shell条件与测试
分类参考 文件状态测试 -b filename 当filename 存在并且是块文件时返回真(返回0) -c filename 当filename 存在并且是字符文件时返回真 -d pathname ...
- shell条件判断if中的-a到-z的意思
[ -a FILE ] 如果 FILE 存在则为真. [ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真. [ -c FILE ] 如果 FILE 存在且是一个字特殊文件则 ...
随机推荐
- DES对称加密算法实现:Java,C#,Golang,Python
数据加密标准(DES,Data Encryption Standard,简写DES)是一种采用块密码加密的对称密钥算法,加密分组长度为64位,其中8.16.24.32.40.48.56.64 等8位是 ...
- .net core的配置介绍(三):Options
前两篇介绍的都是已IConfiguration为基础的配置,这里在说说.net core提供的一种全新的辅助配置机制:Options. Options,翻译成中文就是选项,可选择的意思,它依赖于.ne ...
- 目录-Bug集锦
<Bug集锦>主要是收集一些较有回顾意义的Bug以及Bug的处理思路,方便大家互相学习. 目录 BUG-Nuget包版本不一致导致程序行为与预期不符
- CSS基础 CSS的三大特性以及选择器优先级计算方法
1.子元素默认会继承父元素的样式,但不是所有的元素都有继承 常见的继承父元素特点的元素有: 1.color 2.font-sytle.font-weight.font-size.font-family ...
- hisql 高级功能数据检测将错误数据拦截在系统外 一
hisql github源码下载 git clone https://github.com/tansar/HiSql.git 在设计第二范式数据库时经常会把可能重复的数据单独做一种表关联,但是在写入表 ...
- Python3.7 发送邮件 报‘[WinError 10061] 由于目标计算机积极拒绝,无法连接’错误的解决方法
背景: 最近在练习Python 的邮件发送功能 照着教程写了一个简单的demo 结果运行时报如下错误:[WinError 10061] 由于目标计算机积极拒绝,无法连接. 如图: 解决路径如下: St ...
- Java数据类型 long 与 Long 的区别 和 正确用法
1.区别 (1) long 是 基本类型 [类似于 int] Long 是 对象类型 [类似于Integer] (2) long 默认值是 0 Long 默认值是 null 2.比较方法 (1) ...
- centos7 系统级别(持续更新)
查看当前系统级别 runlevel 获取当前级别 systemctl get-default centos7中只能通过target来设置.先获取target列表 ls -l /usr/lib/syst ...
- kafka学习笔记(三)kafka的使用技巧
概述 上一篇随笔主要介绍了kafka的基本使用包括集群参数,生产者基本使用,consumer基本使用,现在来介绍一下kafka的使用技巧. 分区机制 我们在使用 Apache Kafka 生产和消费消 ...
- ubuntu18.04下取消中键复制粘贴功能
Q: armlinux开发,主机采用ubuntu18.04操作系统,使用过程中关于鼠标中键有如下操作现象, 操作: 1.选中文本, 2.将鼠标光标定位到要插入的位置 3.按下鼠标中键 现象:将自动复制 ...