创建一个shell脚本,可查询课程安排。当输入数字1时显示“Math”;输入数字2时显示“English”;输入数字3时显示“Physics”;输入数字4时显示“Chinese”;其他数字显示“Input erro”。 脚本内容主要为

时间: 2023-10-08 08:04:34 浏览: 11
以下是一个简单的 Shell 脚本,可根据输入的数字显示对应的课程安排: ```bash #!/bin/bash echo "请输入数字 1-4:" read num case $num in 1) echo "Math" ;; 2) echo "English" ;; 3) echo "Physics" ;; 4) echo "Chinese" ;; *) echo "Input error" ;; esac ``` 脚本中使用了 `case` 语句来根据输入的数字显示对应的课程安排。`read` 命令用于获取用户输入的数字,并将其存储在 `$num` 变量中。`case` 语句根据 `$num` 的值来执行相应的操作。如果输入的数字不在 1-4 的范围内,则显示错误消息。
相关问题

创建学生和教师帐号文件 可以分别创建一个students.txt和teachers.txt文件来存储学生和教师的帐号信息,每个帐号一行,包括用户名和密码,用空格分隔。例如: 复制 # students.txt alice 123456 bob 123456 复制 # teachers.txt john 123456 创建课程文件 可以创建一个courses.txt文件来存储所有的课程信息,每个课程一行,包括课程编号、课程名称和选课人数,用空格分隔。例如: 复制 # courses.txt 1001 Math 0 1002 English 0 创建登录界面 使用Shell脚本来创建一个登录界面,提示用户选择登录身份并输入用户名和密码。根据用户的选择,进入学生或教师的主界面。 创建学生主界面 在学生主界面中,使用Shell脚本来实现以下三个功能: 学生选择课程:列出所有可选的课程,并让学生输入课程编号来选择课程。如果输入的课程编号不存在或课程已经选满,给出错误提示。 学生查看信息:显示学生的学号、姓名和所选课程。 学生退出系统:退出程序。 创建教师主界面 在教师主界面中,使用Shell脚本来实现以下四个功能: 教师添加课程:让教师输入课程编号和课程名称来添加新课程。 教师删除课程:让教师输入课程编号来删除已有课程。 教师查看课程:列出所有课程及其选课人数。 教师退出系统:退出程序。 以上是一个简单的学生选课系统的实现。当然,根据需求的不同,还有很多可以扩展和改进的地方。请给出详细代码

好的,下面是一个简单的实现代码,仅供参考: ```bash #!/bin/bash # 定义学生帐号文件、教师帐号文件和课程文件 STUDENT_FILE="students.txt" TEACHER_FILE="teachers.txt" COURSE_FILE="courses.txt" # 定义学生和教师主界面 student_menu() { echo "----------------------欢迎使用学生选课系统(学生)------------------------" echo "* 1、学生选择课程 *" echo "* 2、学生查看信息 *" echo "* 3、学生退出系统 *" echo "----------------------------------------------------------------------------------------" } teacher_menu() { echo "----------------------欢迎使用学生选课系统(教师)------------------------" echo "* 1、教师添加课程 *" echo "* 2、教师删除课程 *" echo "* 3、教师查看课程 *" echo "* 4、教师退出系统 *" echo "----------------------------------------------------------------------------------------" } # 定义登录界面 login() { echo "----------------------------欢迎使用学生选课系统------------------------------" echo "* 1、学生身份登录系统 *" echo "* 2、教师身份登录系统 *" echo "* 3、退出学生选课系统 *" echo "----------------------------------------------------------------------------------------" read -p "请输入选项(1-3):" option case $option in 1) read -p "请输入学生用户名:" username read -s -p "请输入密码:" password echo if grep -q "^$username $password$" $STUDENT_FILE; then student_main $username else echo "错误:用户名或密码错误" fi ;; 2) read -p "请输入教师用户名:" username read -s -p "请输入密码:" password echo if grep -q "^$username $password$" $TEACHER_FILE; then teacher_main else echo "错误:用户名或密码错误" fi ;; 3) exit ;; *) echo "错误:无效选项" ;; esac } # 定义学生主界面 student_main() { username=$1 while true; do student_menu read -p "请输入选项(1-3):" option case $option in 1) # 列出所有可选课程 echo "可选课程如下:" awk '{if ($3==0) print $1, $2}' $COURSE_FILE read -p "请输入课程编号:" course_id # 判断课程是否存在且未选满 if awk '{if ($1=='$course_id' && $3==0) exit 1}' $COURSE_FILE; then # 更新课程文件 awk '{if ($1=='$course_id') {$3=1; print} else print}' $COURSE_FILE > tmp mv tmp $COURSE_FILE # 更新学生信息 awk '{if ($1=="'$username'") {$3='$course_id'; print} else print}' $STUDENT_FILE > tmp mv tmp $STUDENT_FILE echo "选课成功" else echo "错误:课程不存在或已选满" fi ;; 2) # 显示学生信息 awk '{if ($1=="'$username'") print "学号:"$1"\n姓名:"$2"\n所选课程:"$3}' $STUDENT_FILE ;; 3) # 退出程序 exit ;; *) echo "错误:无效选项" ;; esac done } # 定义教师主界面 teacher_main() { while true; do teacher_menu read -p "请输入选项(1-4):" option case $option in 1) # 添加新课程 read -p "请输入课程编号:" course_id read -p "请输入课程名称:" course_name echo "$course_id $course_name 0" >> $COURSE_FILE echo "课程添加成功" ;; 2) # 删除已有课程 read -p "请输入课程编号:" course_id if awk '{if ($1=='$course_id') exit 1}' $COURSE_FILE; then echo "错误:课程不存在" else grep -v "^$course_id " $COURSE_FILE > tmp mv tmp $COURSE_FILE echo "课程删除成功" fi ;; 3) # 列出所有课程及其选课人数 echo "所有课程如下:" awk '{print $1, $2, "(" $3 "人)"}' $COURSE_FILE ;; 4) # 退出程序 exit ;; *) echo "错误:无效选项" ;; esac done } # 主程序 while true; do login done ``` 注意,以上代码仅供参考,实际使用时需要根据需求进行修改和完善。另外,安全性也是需要考虑的一个因素,如密码的加密等。

2、功能模块 1)成绩上传函数add(){}:利用read命令读取上传的科目和成绩; case语句用来判断选择哪个科目,然后使用追加重定向将成绩存入文件info 2)成绩查询函数search(){}:直接打开存放成绩的文件info 3、脚本主体部分,包含以下内容: 1)使用while循环重复执行脚本主体内容; 2)输出成绩管理系统界面和选择的界面,1、成绩上传 2、成绩查询 3、退出; 3)要求使用case匹配对应的功能模块;选择1,调用成绩上传函数;选择2,调用成绩查询函数;选择3,退出shell;选择其他,提示输入错误;

以下是一个简单的实现所述功能的Shell脚本: ```shell #!/bin/bash # 成绩上传函数 add() { read -p "请输入科目名称:" subject read -p "请输入成绩:" score case $subject in "语文") echo "$score" >> info_chinese ;; "数学") echo "$score" >> info_math ;; "英语") echo "$score" >> info_english ;; *) echo "输入的科目名称错误!" ;; esac echo "成绩上传成功!" } # 成绩查询函数 search() { read -p "请输入要查询的科目名称:" subject case $subject in "语文") echo "语文成绩如下:" cat info_chinese ;; "数学") echo "数学成绩如下:" cat info_math ;; "英语") echo "英语成绩如下:" cat info_english ;; *) echo "输入的科目名称错误!" ;; esac } # 脚本主体部分 while true do echo "欢迎使用成绩管理系统!请选择操作:" echo "1、成绩上传" echo "2、成绩查询" echo "3、退出" read choice case $choice in 1) add ;; 2) search ;; 3) echo "再见!" exit 0 ;; *) echo "输入错误,请重新选择!" ;; esac done ``` 在脚本所在的目录下,需要创建三个文件 `info_chinese`、`info_math` 和 `info_english`,用于保存对应科目的成绩。当选择成绩上传时,会根据输入的科目名称选择对应的文件并将成绩追加写入;当选择成绩查询时,会打开对应的文件并输出所有成绩。

相关推荐

最新推荐

recommend-type

Shell脚本实现自动输入密码登录服务器

主要介绍了Shell脚本实现自动输入密码登录服务器,本文使用expect来实现这个需求,讲解了expect的安装及使用脚本,需要的朋友可以参考下
recommend-type

250个shell脚本

Shell脚本,就是利用Shell的命令解释的功能,对一个纯文本的文件进行解析,然后执行这些功能,也可以说Shell脚本就是一系列命令的集合。 Shell可以直接使用在win/Unix/Linux上面,并且可以调用大量系统内部的功能来...
recommend-type

shell脚本之判断输入参数是否为整数值的实例

今天小编就为大家分享一篇shell脚本之判断输入参数是否为整数值的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
recommend-type

一个Linux系统安全设置的Shell脚本的分享(适用CentOS)

主要介绍了一个设置Linux系统安全的Shell脚本的分享,适用CentOS,包含大部份的安全设置,只需执行脚本就可以得到一个相对安全的Linux系统了,需要的朋友可以参考下
recommend-type

一个监控LINUX目录和文件变化的Shell脚本分享

主要介绍了一个监控LINUX目录和文件变化的Shell脚本分享,对服务器经常被挂马的朋友时分有用,需要的朋友可以参考下
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

MATLAB取整函数与Web开发的作用:round、fix、floor、ceil在Web开发中的应用

![MATLAB取整函数与Web开发的作用:round、fix、floor、ceil在Web开发中的应用](https://img-blog.csdnimg.cn/2020050917173284.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2thbmdqaWVsZWFybmluZw==,size_16,color_FFFFFF,t_70) # 1. MATLAB取整函数概述** MATLAB取整函数是一组强大的工具,用于对数值进行
recommend-type

我想做python的算法工程师,我应该学什么?学习的顺序是什么?网上有什么推荐的免费课程吗?回答具体精确一点不要太笼统

对于想要成为 Python 算法工程师的人来说,他们应该先从掌握 Python 的基础语法开始,然后学习数据结构和算法,并且要深入了解 Python 中的一些科学计算和数据处理库,比如 NumPy、Pandas 等。 学习的顺序可以是先学习基础语法和编程技巧,然后再学习数据结构和算法相关的知识,最后深入了解数据处理和科学计算相关的库。 对于免费课程的推荐,我建议你可以先去 Coursera、edX、Udacity 等网站上寻找相关课程,这些网站上有很多优质的 Python 编程和算法课程,你可以根据自己的需求和学习进度进行选择。此外,还可以考虑一些在线编程网站,如 HackerRank、L
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。