linux编写一个Shell脚本,根据键盘可以循环输入学生成绩,并显示对应的成绩标准(及格和不及格),按Q键退出,按其他键提示重新输入
时间: 2024-03-18 10:40:52 浏览: 155
好的,我可以帮你编写这个Shell脚本。以下是代码:
```
#!/bin/bash
while true
do
read -p "请输入学生成绩: " score
if [ "$score" = "Q" ] || [ "$score" = "q" ]
then
exit 0
elif [ "$score" -ge 60 ]
then
echo "成绩为 $score ,及格"
else
echo "成绩为 $score ,不及格"
fi
done
```
这个脚本会循环等待用户输入学生成绩,并根据成绩是否及格进行输出,直到用户输入Q键退出脚本。如果用户输入的不是Q键,则会提示重新输入。希望对你有帮助!
相关问题
编写一个shell脚本,通过键盘可以循环输入学生成绩,并显示对应的成绩是否及格,按q键退出脚本
好的,以下是一个简单的实现:
```bash
#!/bin/bash
while true; do
read -p "请输入学生成绩(按q键退出):" score
# 判断是否输入了q键
if [[ $score == "q" ]]; then
echo "退出程序"
exit 0
fi
# 判断成绩是否及格
if (( $(echo "$score >= 60" | bc -l) )); then
echo "恭喜,成绩及格!"
else
echo "很遗憾,成绩不及格!"
fi
done
```
这个脚本使用了一个 `while` 循环,每次循环通过 `read` 命令从键盘读取输入的学生成绩,如果输入的是 `q` 键,则退出程序。然后使用 `bc` 命令计算输入的成绩是否及格,并输出对应的信息。
编写一个Shell脚本,根据键盘可以循环输入学生成绩(百分制),并显示对应的成绩标准(及格和不及格),按Q键退出,按其他键重新输入。
可以尝试以下脚本:
```bash
#!/bin/bash
while true; do
read -p "请输入学生成绩(按Q键退出):" score
if [[ $score == "Q" ]]; then
break
elif (( $score >= 60 )); then
echo "成绩:$score,及格"
else
echo "成绩:$score,不及格"
fi
done
```
脚本通过无限循环 `while true` ,读取用户输入的学生成绩。如果输入的是大写字母 Q ,则退出循环;否则,判断成绩是否大于等于 60 ,输出对应的成绩标准。
阅读全文