if语句和case语句练习题

一、检查用户家目录中的 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

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Ryu_hayabusa/article/details/114375421