编写一个shell脚本:使用case判断成绩
时间: 2024-10-17 20:15:32 浏览: 5
当你想要编写一个简单的 shell 脚本来基于给定的成绩进行分类(比如A、B、C、D、F等级),你可以使用 `case` 结构。下面是一个基础示例,它会显示不同的等级:
```bash
#!/bin/bash
# 获取用户输入的成绩
read -p "请输入您的成绩 (0-100): " score
# 使用 case 结构判断并打印结果
case $score in
[1-9]|[1-9][0-9]|1[0-9]?) # A 级别(90-100分)
echo "您的成绩属于A级"
;;
[10-19]|[1-9][0-9]?[1-9]) # B 级别(80-90分)
echo "您的成绩属于B级"
;;
[20-29]|[1-9][0-9]?[0-9]) # C 级别(70-80分)
echo "您的成绩属于C级"
;;
[30-39]|[1-9][0-9]?[0-8]) # D 级别(60-70分)
echo "您的成绩属于D级"
;;
*) # F 级别(59分以下)
echo "您的成绩属于F级"
;;
esac
相关问题
编写一个shell脚本
### 回答1:
好的,以下是简单的脚本示例:
```
#!/bin/bash
# 定义变量
name="World"
# 输出欢迎语
echo "Hello, $name!"
```
以上脚本可以输出 "Hello, World!"。你可以将其保存为一个文件,比如 "hello.sh",然后在终端中运行:
```
$ bash hello.sh
```
注意,你需要在运行脚本前给文件执行权限:
```
$ chmod +x hello.sh
```
### 回答2:
编写一个shell脚本可以用来查找指定目录下的所有文件,并将文件名打印出来。
这个脚本首先需要使用`read`命令来获取用户输入的目录路径,然后使用`ls`命令来列出该目录的所有文件和子目录,使用`-R`选项以递归方式列出所有文件。将结果保存在一个变量中。
接下来,使用`for`循环来遍历保存的文件列表。对于每个文件,使用`echo`命令将其文件名打印出来。
最后,使用`echo`命令打印一条消息,指示脚本运行结束。
以下是一个示例的shell脚本代码:
```shell
#!/bin/bash
echo "请输入目录路径:"
read directory
file_list=$(ls -R $directory)
for file in $file_list; do
echo $file
done
echo "脚本运行结束。"
```
请注意,这只是一个简单的示例,可能还需要添加一些错误处理和其它功能来使脚本更完善。
### 回答3:
编写一个shell脚本可以实现一些常用的功能,比如自动备份文件,查找指定文件,统计文件行数等。
```
#!/bin/bash
# 自动备份文件
function backup_files() {
echo "开始备份文件..."
cp -r /path/to/source /path/to/destination
echo "备份文件成功!"
}
# 查找指定文件
function find_files() {
read -p "请输入要查找的目录:" directory
read -p "请输入要查找的文件名:" filename
echo "查找结果:"
find $directory -name $filename
}
# 统计文件行数
function count_lines() {
read -p "请输入要统计行数的文件:" file
echo "文件 $file 的行数为:"
wc -l $file
}
# 主菜单
function main_menu() {
echo "欢迎使用Shell脚本!请选择操作:"
echo "1. 自动备份文件"
echo "2. 查找指定文件"
echo "3. 统计文件行数"
echo "4. 退出"
read -p "请选择操作编号:" choice
case $choice in
1)
backup_files
;;
2)
find_files
;;
3)
count_lines
;;
4)
exit 0
;;
*)
echo "无效的操作编号!"
;;
esac
}
# 运行主菜单
main_menu
```
以上是一个简单的shell脚本示例,实现了自动备份文件、查找指定文件和统计文件行数的功能。用户通过选择操作编号来执行相应的功能。
shell编写一个计算器脚本
以下是一个简单的shell计算器脚本,可以进行加、减、乘、除四则运算:
```shell
#!/bin/bash
# 定义函数,用于加法运算
function add(){
echo $(($1+$2))
}
# 定义函数,用于减法运算
function sub(){
echo $(($1-$2))
}
# 定义函数,用于乘法运算
function mul(){
echo $(($1*$2))
}
# 定义函数,用于除法运算
function div(){
if [ $2 -eq 0 ]; then
echo "除数不能为0"
else
echo $(($1/$2))
fi
}
# 获取用户输入的两个数字和运算符
read -p "请输入第一个数字:" num1
read -p "请输入第二个数字:" num2
read -p "请输入运算符(+、-、*、/):" ope
# 判断输入的数字和运算符是否为空
if [ -n "$num1" -a -n "$num2" -a -n "$ope" ]; then
case $ope in
+)
result=$(add $num1 $num2)
;;
-)
result=$(sub $num1 $num2)
;;
\*)
result=$(mul $num1 $num2)
;;
/)
result=$(div $num1 $num2)
;;
*)
echo "不支持的运算符"
exit 1
;;
esac
echo "结果为:$result"
else
echo "输入不能为空"
exit 1
fi
```
阅读全文