建立stu.txt内容:
100:张三:男:计算机 101:张红:女:文秘 102:张飞:男:体育 103:张婷:女:英语 104:张海洋:男:机电
题目要求:有文本文件stu.txt,该文件是所有学生的信息,每个学生存储一行信息,信息格式如下:学号:姓名:性别:专业 如(100:张三:男:计算机)设计一个shell,名称为stu.sh,该shell完成如下功能:
1)当输入stu.sh时,列出所有记录内容
2)当输入 stu.sh -a 100:张三:男:计算机 时,首先判断100记录是否存在,如果不存在,则把该信息写入文件,如果存在,则给出提示,并输出文件中学号为100的该行信息
3)当输入 stu.sh -d 100时,首先判断100记录是否存在,如果不存在,给出提示,如果存在,则提示用户确认是否要删除记录,如用户输入y或者yes,则删除文件中学号为100的该行信息,如果用户输入n或no时,则不做删除操作
4)当输入 stu.sh -s 100时,首先判断100记录是否存在,如果不存在,给出提示,如果存在,则输出文件中学号为100的该行信息
5)当用户输入的选项不正确时,给出错误提示,并输入该shell的用法
data="stu.txt"; sid="学号"; sname="姓名"; ssex="性别"; smajor="专业"; help(){ echo "不加参数,显示所有记录"; echo "-a 添加记录"; echo "-d 删除记录"; echo "-s 搜索记录"; } if [ $# -eq 0 ]; then printf "%-s\t%-s\t%-s\t%-s\n" $sid $sname $ssex $smajor; #cat $data |awk -F ":" '{printf("%-s\t%-s\t%-s\t%-s\n",$1,$2,$3,$4);}';二选一 cat $data|tr ':' '\t'; exit; fi case $1 in -a) if ! grep -q $2 $data 2>&1; then echo $2>>$data; exit; else echo "存在"; printf "%-s\t%-s\t%-s\t%-s\n" $sid $sname $ssex $smajor; echo $2|tr ':' '\t'; fi ;; -d) if ! grep -q $2 $data 2>&1; then echo "记录不存在。。"; exit; else read -p "确定要删除?(y/n)" confirm; if [ $confirm == "y" -o $confirm == "yes" ]; then sed -i "/$2/d" $data 2>&1; elif [ $confirm == "n" -o $confirm == "no" ]; then echo "用户取消"; else echo "错误的输入"; fi fi ;; -s) if ! grep -q $2 $data 2>&1; then echo "记录不存在。。"; exit; else printf "%-s\t%-s\t%-s\t%-s\n" $sid $sname $ssex $smajor; #sed -n "/$2/p" $data |tr ':' '\t'; grep $2 $data|tr ':' '\t'; fi ;; *) help ;; esac
相关推荐
Bash Shell 练习题 本资源总结了 Bash Shell 的练习题,旨在帮助用户更好地学习和掌握 Bash Shell 的使用。该资源涵盖了多个方面的知识点,包括变量、命令、文件操作、过程控制、输入输出等。 一、变量 1.1 更改 ...
Linux 操作题及答案 Shell 练习题 本文档涵盖了 Linux 操作系统中的一些基本概念和技术,包括文件权限、用户和组管理、文件操作、目录管理、cron 任务计划和 at 命令等。通过对实践题目和答案的解析,我们将探索 ...
LINUX SHELL 命令练习题 本次练习题涵盖了 LINUX SHELL commands 的多个方面,包括文件类型的确定、文件权限的修改、目录管理、文件重命名、系统初始化信息、系统启动级别的切换、后台执行程序、vi 编辑器的使用等...
shell编程题目练习,练习基本的shell编程,学习脚本语言,提高效率
这些题目涵盖了Linux Shell脚本编程的一些基础知识点,包括文件属性检查、用户与组管理、文件与目录操作、循环与条件判断、时间调度以及简单的数学运算。下面分别对这些知识点进行详细解释: 1. **文件属性判断与...
下面将逐一解析这些练习题涉及的关键知识点。 ### 练习一:向用户问候及统计用户数量 这个练习的目标是读取 `/etc/passwd` 文件中的每一行,提取用户名和用户ID,并向每个用户发送问候语,同时统计用户总数。这里...
该练习题要求编写一个 Shell 脚本,完成三个任务:显示文字“Waiting for a while….”、长格式显示当前目录下的文件和目录,并输出重定向到 `/home/file.txt` 文件、定义一个变量 `s`,初始值为“Hello”,并输出...
Shell编程练习题.docx
shell脚本练习题集锦 本资源提供了一系列的 shell 脚本练习题,涵盖了基本的 shell 编程概念和技术,旨在帮助用户掌握 shell 编程的基本技能和思想。下面是本资源中涉及到的知识点: 1. 变量的使用:在shell脚本中...
shell脚本练习题 shell脚本是一种强大的自动化工具,可以自动完成各种任务。本文将通过多个实践练习题,帮助读者学习shell脚本的编写和应用。 练习一:统计用户数 在 Linux 系统中,/etc/passwd 文件中存储着系统...
根据给定文件的信息,我们可以提炼出与Shell脚本相关的知识点,包括基础概念、变量设置、命令行工具的应用等。下面将详细阐述这些知识点。 ### Shell脚本基础 #### 1. Shell简介 Shell是Unix/Linux操作系统的核心...
LINUX SHELL 命令练习题 本资源摘要信息旨在总结 LINUX SHELL 命令练习题中的知识点,涵盖 Linux 操作系统的基础知识、命令行操作、文件管理、权限控制、系统配置等方面。 1. Linux 核心的许可证是 GPL(General ...
### Linux中Shell练习-习题5 #### 一、Linux 下执行 Shell 脚本的方式 在 Linux 系统中,执行 Shell 脚本有两种主要的方法:通过 shell 程序来执行脚本和直接执行脚本。 ##### 1. 通过 shell 程序执行脚本 这种...
Linux Shell 自动化运维课后习题答案 本文档提供了 Linux Shell 自动化运维课后习题答案,涵盖了 Linux Shell 编程、自动化运维等方面的知识点。 一、Shell 编程基础 1. Shell 变量:在 Shell 中,可以使用变量来...
### Linux Shell 脚本基础与实践 #### 一、Linux 下执行 Shell 脚本的方式 Shell 脚本是 Linux 和 Unix 系统中非常重要的组成部分,它允许用户通过编写一系列命令来自动化复杂的任务。执行 Shell 脚本有两种主要...
Linux运维-3.Shell编程-11shell基础-119四则运算练习题1.avi