shell脚本学习,几个小脚本(if、case、for、while、until语句)

成绩判定

#!/bin/bash
read -p "请输入成绩:" score

case $score in
8[5-9]|9[0-9]|100)
echo "成绩优秀"
;;

7[0-9]|8[0-4])
echo "成绩良"
;;

6[0-9])
echo "成绩合格"
;;

[0-9]|1[0-9]|2[0-9]|3[0-9]|4[0-9]|5[0-9])
echo "成绩不合格"
;;

*)
echo "请输入区间0-100"
esac

跑步比赛10秒进入决赛男女分组

#!/bin/bash
read -p "请问你跑了几秒:" runtime
if [ $runtime -lt 10 ]
then
echo "恭喜你进入了决赛!"

  read -p "请问你的性别" sex
    if [ $sex == "男" ]
     then
        echo "你已加入男子组!"
    elif [ $sex == "女" ]
      then
        echo "你已加入女子组!"
    else
        echo "请输入正确的性别:"
    fi


else
echo "对不起,你已经被淘汰了!"
fi

剪刀石头布人机对战

#!/bin/bash
a=$[$RANDOM%3]
read -p "请输入随机的数字0,1,2(0:剪刀,1:石头,2:布):" n
if [ $a = $n ]
then echo "你出了$n,系统出了$a,平局!"
elif [[ $n = 1 && $a = 2 ]] || [[ $n = 0 && $a = 1 ]] || [[ $n = 2 && $a = 0 ]]
then echo "你出了$n,系统出了$a,你输了!"
else
echo "你出了$n,系统出了$a,你赢了!"

批量创建用户

#!/bin/bash
i=21
while [ $i -le 40 ]
 do
 useradd stu$i
echo "123456" | passwd --stdin stu$i
echo "已创建stu$i"
 let i++
done

计算1-100以内奇数的和

#!/bin/bash
sum=0
for ((i=1;i<=100;i++))
do
 if [[ $i%2 -ne 0 ]]
then
let sum=$sum+$i
fi
done
echo "和为$sum"

输出不能被3整除的数

#!/bin/bash
i=1
while [ $i -le 100 ]
 do
 if [[ $i%3 -ne 0 ]]
 then echo "$i"
 fi
 let i++
done

测试主机能否ping通

#!/bin/bash
list=$(cat /opt/host.txt)
for host in $list
do
ping -c 2 $host > /dev/null
 if [ $? -eq 0 ];then
    echo "$host is up!"
  else
    echo "$host is down!"
 fi
done

输出1-50的总和

#!/bin.bash
i=1
sum=0
until [ $i -eq 51 ]
  do
  sum=$[$i+$sum]
  let i++
  done
echo "$sum"

猜你喜欢

转载自blog.csdn.net/shengjie87/article/details/107427565
今日推荐