目录
1、shell实现乘法表的打印
2、shell判定成绩等级
3、循环创建用户
1、shell实现乘法表的打印
要求:嵌套循环实现9*9乘法表(两种方式)
创建脚本文件:vim mcl.sh
#!/bin/bash
#########################
#File name:mcl.sh
#Version:v1.0
#Email:admin@test.com
#Created time:2023-02-01 18:35:17
#Description:
#########################
echo "***********for循环实现乘法表**********"
for i in {1..9}
do
for j in {1..9}
do
if [ $j -le $i ]
then
echo -n -e "$i*$j=$[i*j]\t"
fi
done
echo
done
echo "**********while循环实现乘法表**********"
i=1
while ((i<=9))
do
j=1
while (($j<=$i))
do
echo -ne "$i*$j=$[i*j]\t"
let "j++"
done
let "i++"
echo
done
注:使用echo -n表示不换行输出内容,使用echo -e表示解析转义字符(文中为转义\t)。
测试脚本:bash mcl.sh
2、shell判定成绩等级
要求:判定一个成绩,范围为0-100:85-100 ->A;70-84 -> B;60-69 -> C;0-59 ->D
注:在编写时要注意成绩的边界问题,成绩不会出现小于0,大于100的。
创建脚本:vim grade_level.sh
#!/bin/bash
#########################
#File name:grade_level.sh
#Versideadfqaewd ads asd on:v1.0
#Emaial:admin@test.com
#Creaated time:2023-02-01 20:35:59
#Description:
###a######################
read -p "Please input one score:" score
if [ $score -lt 0 -o $score -gt 100 ];then
echo "wrong score"
else
case $score in
8[5-9]|9[0-9]|100)
echo "Grade level is A"
;;
7[0-9]|8[0-4])
echo "Grade level is B"
;;
6[0-9])
echo "Grade level is C"
;;
*)
echo "Grade level is D"
esac
fi
测试脚本:bash grade_level.sh
3、循环创建用户
创建脚本:vim create_user.sh
#!/bin/bash
#########################
#File name:create_user.sh
#Version:v1.0
#Email:admin@test.com
#Created time:2023-02-01 21:50:58
#Description:
#########################
for user in `seq -f "user%02g" 20`
do
echo $user
done
echo "*************"
for user in user{01..20}
do
echo $user
done
测试脚本:bash create_user.sh
注:两种方法运行结果一致。(用for循环实现,两种循环范围表示方法不一致)
shell的三个练习完成。