shell脚本条件语句练习
Posted kiroct
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell脚本条件语句练习相关的知识,希望对你有一定的参考价值。
1、检查家目录中的test.sh 是否存在,并检查是否有执行权限
#!/bin/bash
[ -f ~/test.sh ]
if [ $? -eq 0 ]
then
echo "test.sh 文件存在,下面检查文件权限"
cd ~;
ls -l | grep "test.sh"
else
echo "文件不存在"
fi
2、提示用户输入100米赛跑的秒数,要求判断秒数大于0且小于等于10秒的进入选拔赛,大于10秒的都淘汰,如果输入其它字符则提示重新输入:进入选拔赛的成员再进一 步判断男女性别,男生进男生组,女生进女生组,如果输入错误请提示错误
#!/bin/bash
read -p "输入你的秒数:" S
#S是秒数的变量
if [ $S -gt 0 -a $S -le 10 ]
then
echo "----------------------------------"
elif [ $S -gt 10 ]
then
echo "很遗憾你被淘汰了"
exit 1
else
echo "请输入正确的数字"
exit 1
fi
read -p "恭喜你进入选拔赛,请输入你的性别:" A
#A是性别的变量
if [ $A = 男 ]
then
echo "恭喜你进入男子选拔赛"
elif [ $A = 女 ]
then
echo "恭喜你进入女子选拔赛"
else
echo "请输入正确的性别"
exit 1
fi
3、用case语句解压(data目录下)根据后缀名为.tar.gz 或.tar.bz2 的压缩包到/opt 目录
#!/bin/bash
echo "正在查找data目录下的压缩文件包";
name=` find /data -name "*.tar.gz" -o -name "*.tar.bz2" `
case $name in
*.tar.gz)
tar -zxvf $name -C /opt
;;
*.tar.bz2)
tar -jxvf $name -C /opt
;;
*)
echo "当前目录没有压缩包"
esac
4、提示用户输入内容,使用if语句判断输入的内容是否为整数。再判断输入的内容是奇数还是偶数。
#!/bin/bash
read -p "请输入你的数字" num
( expr $num + 0 ) &> /dev/null
if [ $? -eq 0 ]
then
echo "这个数为整数"
elif [ $num -eq 0 ]
then
echo "这个数为整数"
else
echo "你输入的不是整数"
exit 1
fi
f=$( expr $num % 2 )
if [ $f -eq 0 ]
then
echo "你输入的是偶数"
else
echo "你输入的是奇数"
fi
5、用if语句判断主机是否存活
#!/bin/bash
ping -c 3 -i 0.5 -w 2 $1 &> /dev/null
if [ $? -eq 0 ]
then
echo "$1 在线"
else
echo "$1 不在线"
fi
6、使用case语句来控制防火墙
#!/bin/bash
#chkconfig 2345 99 20
read -p "
欢迎使用脚本防火墙
请输入:start、stop、restart、status
来完成对防火墙的管理。
: " A
#A为输入的命令
case $A in
start)
systemctl start firewalld
;;
stop)
systemctl stop firewalld
;;
restart)
systemctl restart firewalld
;;
status)
systemctl status firewalld
;;
*)
echo "use_age: $0 start|stop|restart|status"
esac
以上是关于shell脚本条件语句练习的主要内容,如果未能解决你的问题,请参考以下文章