别烦我啦 2022-11-18 21:01 采纳率: 71.4%
浏览 139
已结题

shell编程,expr非整数参数错误

问题遇到的现象和发生背景

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


运行结果及报错内容

img

我的解答思路和尝试过的方法
#!/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改成变量num的形式输出就正确了。

img

我想要达到的结果

想知道为什么会这样,难道是变量和常数不能出现在同一个表达式中?

  • 写回答

1条回答 默认 最新

  • ygqygq2 2022-11-18 21:40
    关注

    img


    复制你的代码的,你可能输入了未知字符导致你那个结果。正常有空格都可以。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月26日
  • 已采纳回答 11月18日
  • 创建了问题 11月18日

悬赏问题

  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因