shell脚本条件语句练习

一箫一剑平生意,负尽狂名十五年。这篇文章主要讲述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 firead -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/bashread -p "请输入你的数字" num( expr $num + 0 ) & > /dev/null if [ $? -eq 0 ] then echo "这个数为整数" elif [ $num -eq0 ] 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

【shell脚本条件语句练习】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


    推荐阅读