别烦我啦 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日

悬赏问题

  • ¥15 r语言神经网络自变量重要性分析
  • ¥15 基于双目测规则物体尺寸
  • ¥15 wegame打不开英雄联盟
  • ¥15 公司的电脑,win10系统自带远程协助,访问家里个人电脑,提示出现内部错误,各种常规的设置都已经尝试,感觉公司对此功能进行了限制(我们是集团公司)
  • ¥15 救!ENVI5.6深度学习初始化模型报错怎么办?
  • ¥30 eclipse开启服务后,网页无法打开
  • ¥30 雷达辐射源信号参考模型
  • ¥15 html+css+js如何实现这样子的效果?
  • ¥15 STM32单片机自主设计
  • ¥15 如何在node.js中或者java中给wav格式的音频编码成sil格式呢