使用shell脚本 现有学生成绩与对应等级:0~60:D、61~80 C、81~90 B、91~100 A,编写脚本实现当输入范围区间内的数字时打印出对应的等级,输入其他字符时提示“请输入数字”并退出脚本?
时间: 2024-03-08 21:50:21 浏览: 73
输入学生成绩(0~100),给出对应的等级
以下是 Shell 脚本的实现方式:
```bash
#!/bin/bash
echo "请输入学生成绩:"
read score
if [[ ! $score =~ ^[0-9]+$ ]]; then
echo "请输入数字!"
exit 1
fi
if (( score < 0 || score > 100 )); then
echo "无效的成绩范围!"
exit 1
fi
if (( score < 61 )); then
echo "D"
elif (( score < 81 )); then
echo "C"
elif (( score < 91 )); then
echo "B"
else
echo "A"
fi
```
代码解释:
1. 首先输出提示信息,并读取用户输入的成绩;
2. 使用正则表达式判断输入是否为数字,如果不是数字,则输出提示信息并退出脚本;
3. 判断成绩范围是否合法,如果不在 0~100 的范围内,输出无效范围的提示信息,并退出脚本;
4. 根据成绩范围输出相应的等级。
阅读全文