作业1
题目:
使用 shell
中的 while
打印99乘法表
效果:
代码:
#! /bin/bash
# 99乘法表
i=1
while [ ${i} -le 9 ]
do
j=1
while [ ${j} -le ${i} ]
do
echo -n "${i}*${j}=$(($i*$j)) "
((j=j+1))
done
echo
((i=i+1))
done
作业2
题目:
输入学生成绩,判断等级,A[100,90)
,B[90,80)
,C[80,70)
,D[70,60)
效果:
代码:
#!/bin/bash
read -p "请输入学生成绩:" score
# shell中,默认将变量当作字符串处理
# 因此不能使用 echo $(($score+1)),非数字字符和数字比较时会自动转换成0,无法区分0和非数字的字符
# 在expr中,非数字字符和1相加成为字符串拼接,可以区分数字和字符,将expr的回显,重定向到/dev/null
expr ${score} "+" 1 &> /dev/null
if [ $? -eq 0 ]; then
case $((score % 10 == 0 ? (score - 1)/10 : score / 10)) in
9)
echo "A"
;;
8)
echo "B"
;;
7)
echo "C"
;;
6)
echo "D"
;;
*)
echo "F"
;;
esac
else
echo "非法输入"
fi