编写一段bash shell程序,完成:根据从键盘输入的学生学号、成绩,通过计算成绩的等级后,把学生学号、成

编写一段bash shell程序,完成:根据从键盘输入的学生学号、成绩,通过计算成绩的等级后,把学生学号、成绩、成绩等级记录在mark.txt文件中。其中60分以下为“Failed!”,60-70分为“Passed!”,70-80分为“Medium!”,80-90分为“Good!”,90-100为“Excellent!”。 如果输入超过100的分数,则显示错误分数提示。
请问怎样使我输入的是小数,譬如60.5也能输出passed?????

DING YI XIA

第1个回答  推荐于2016-01-29
bash本身只支持整数,所以如果你要想支持小数,只有通过其他手段,比如你自己写一段简单的程序用来比较两个数的大小,再在脚本里通过这个程序来比较。为了简单,我用bc这个系统自带的工具来比较

我这里就不提供读取分数相关的代码了,我想你应该已经有了,只给你小数相关的,

- 先确认你的机器上有bc(基本上linux上都有的),确认方法为直接敲 bc 回车,看看是否能进去

假定你读到的分数存在变量 score 中

ret=$(echo "$score>=60" | bc)
if [ $ret -eq 1 ]; then
echo "passed"
else
echo "failed"
fi

对这个程序还有问题,可以baidu hi我本回答被提问者采纳
相似回答