if语句和case语句练习题
- 一、检查用户家目录中的 test.sh 文件是否存在,并且检查是否有执行权限
- 二、提示用户输入100米赛跑的秒数,要求判断秒数大于0且小于等于10秒的进入选拔赛,大于10秒的都淘汰,如果输入其它字符则提示重新输入;进入选拔赛的成员再进一步判断男女性别,男生进男生组,女生进女生组,如果输入错误请提示错误
- 三、用case语句解压根据后缀名为 .tar.gz 或 .tar.bz2 的压缩包到 /opt 目录
- 四、提示用户输入内容,使用if 语句判断输入的内容是否为整数,再判断输入的内容是奇数还是偶数。
- 五、执行脚本输入用户名,若该用户存在,输出提示该用户已存在;若该用户不存在,提示用户输入密码,建立用户并设立其密码
一、检查用户家目录中的 test.sh 文件是否存在,并且检查是否有执行权限
#!/bin/bash
if [ -f ~/test.sh ];then
echo "test.sh文件存在"
if [ -x ~/test.sh ];then
echo "test.sh有可执行权限"
else
echo "没有可执行权限"
fi
else
echo "文件不存在"
fi
二、提示用户输入100米赛跑的秒数,要求判断秒数大于0且小于等于10秒的进入选拔赛,大于10秒的都淘汰,如果输入其它字符则提示重新输入;进入选拔赛的成员再进一步判断男女性别,男生进男生组,女生进女生组,如果输入错误请提示错误
#!/bin/bash
read -p "请输入100米赛跑的秒数:" time
if
[ $time -gt 0 -a $time -lt 10 ] &> /dev/null;then
echo "恭喜你已进入选拔赛!"
read -p "请输入你的性别:" Gender
case ${Gender} in
male)
echo "你已进男生组"
;;
female)
echo "你已进女生组"
;;
*)
echo "错误!"
esac
elif
[ $time -gt 10 ] &> /dev/null;then
echo "很遗憾,你已被淘汰"
else
echo "请重新输入"
fi
三、用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
四、提示用户输入内容,使用if 语句判断输入的内容是否为整数,再判断输入的内容是奇数还是偶数。
#!/bin/bash
read -p "请输入内容:" a
if [ $a = 0 ];then
echo "0是偶数"
else
let i=a+0 &> /dev/null
if [ $? = 0 ];then
echo "$a是整数"
b=$[a % 2 ]
case $b in
0)
echo "$a是偶数"
;;
*)
echo "$a是奇数"
esac
else
echo "$a不是整数"
fi
fi
五、执行脚本输入用户名,若该用户存在,输出提示该用户已存在;若该用户不存在,提示用户输入密码,建立用户并设立其密码
#!/bin/bash
read -p "请输入用户名:" u
id $u &> /dev/null
if [ $? = 0 ];then
echo "$u用户已存在"
else
read -p "请输入密码:" p
useradd $u
echo "-p" | passwd --stdin $u
fi