问题遇到的现象和发生背景
shell编程算成绩等级的程序,写算术表达式时,出现了 “expr 非整数参数” 的错误
用代码块功能插入代码,请勿粘贴截图
!/bin/bash
#filename yan2
points=0
echo "请输入你的成绩"
read points
level=0
level=`expr $points / 10`
case $level in
9) echo "你的成绩等级:A" ;;
10) echo "你的成绩等级:A";;
8) echo "你的成绩等级:B";;
7) echo "你的成绩等级:C";;
6) echo "你的成绩等级:D";;
*) echo "你的成绩等级:E";;
esac
运行结果及报错内容
我的解答思路和尝试过的方法
!/bin/bash
#filename yan2
points=0
echo "请输入你的成绩"
read points
level=0
num=10
level=`expr $points / $num`
case $level in
9) echo "你的成绩等级:A" ;;
10) echo "你的成绩等级:A";;
8) echo "你的成绩等级:B";;
7) echo "你的成绩等级:C";;
6) echo "你的成绩等级:D";;
*) echo "你的成绩等级:E";;
esac
当我将expr表达式中的10改成变量的形式就对了
我想要达到的结果
难道是常量和变量不能同时出现在同一个表达式中吗,想知道为什么会这样