`
zfy421
  • 浏览: 234690 次
社区版块
存档分类
最新评论

shell练习题

阅读更多

建立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 的练习题,旨在帮助用户更好地学习和掌握 Bash Shell 的使用。该资源涵盖了多个方面的知识点,包括变量、命令、文件操作、过程控制、输入输出等。 一、变量 1.1 更改 ...

    linux操作题及答案shell练习题.pdf

    Linux 操作题及答案 Shell 练习题 本文档涵盖了 Linux 操作系统中的一些基本概念和技术,包括文件权限、用户和组管理、文件操作、目录管理、cron 任务计划和 at 命令等。通过对实践题目和答案的解析,我们将探索 ...

    LINUX SHELL命令练习题

    LINUX SHELL 命令练习题 本次练习题涵盖了 LINUX SHELL commands 的多个方面,包括文件类型的确定、文件权限的修改、目录管理、文件重命名、系统初始化信息、系统启动级别的切换、后台执行程序、vi 编辑器的使用等...

    shell编程题目练习

    shell编程题目练习,练习基本的shell编程,学习脚本语言,提高效率

    shell练习题1.doc

    这些题目涵盖了Linux Shell脚本编程的一些基础知识点,包括文件属性检查、用户与组管理、文件与目录操作、循环与条件判断、时间调度以及简单的数学运算。下面分别对这些知识点进行详细解释: 1. **文件属性判断与...

    shell脚本练习题

    下面将逐一解析这些练习题涉及的关键知识点。 ### 练习一:向用户问候及统计用户数量 这个练习的目标是读取 `/etc/passwd` 文件中的每一行,提取用户名和用户ID,并向每个用户发送问候语,同时统计用户总数。这里...

    Shell编程练习题.pdf

    该练习题要求编写一个 Shell 脚本,完成三个任务:显示文字“Waiting for a while….”、长格式显示当前目录下的文件和目录,并输出重定向到 `/home/file.txt` 文件、定义一个变量 `s`,初始值为“Hello”,并输出...

    Shell编程练习题.docx

    Shell编程练习题.docx

    shell脚本练习题.docx

    shell脚本练习题集锦 本资源提供了一系列的 shell 脚本练习题,涵盖了基本的 shell 编程概念和技术,旨在帮助用户掌握 shell 编程的基本技能和思想。下面是本资源中涉及到的知识点: 1. 变量的使用:在shell脚本中...

    shell脚本练习题.pdf

    shell脚本练习题 shell脚本是一种强大的自动化工具,可以自动完成各种任务。本文将通过多个实践练习题,帮助读者学习shell脚本的编写和应用。 练习一:统计用户数 在 Linux 系统中,/etc/passwd 文件中存储着系统...

    shell脚本练习题.doc

    根据给定文件的信息,我们可以提炼出与Shell脚本相关的知识点,包括基础概念、变量设置、命令行工具的应用等。下面将详细阐述这些知识点。 ### Shell脚本基础 #### 1. Shell简介 Shell是Unix/Linux操作系统的核心...

    LINUXSHELL命令练习题[参考].pdf

    LINUX SHELL 命令练习题 本资源摘要信息旨在总结 LINUX SHELL 命令练习题中的知识点,涵盖 Linux 操作系统的基础知识、命令行操作、文件管理、权限控制、系统配置等方面。 1. Linux 核心的许可证是 GPL(General ...

    linux中shell练习-习题5

    ### Linux中Shell练习-习题5 #### 一、Linux 下执行 Shell 脚本的方式 在 Linux 系统中,执行 Shell 脚本有两种主要的方法:通过 shell 程序来执行脚本和直接执行脚本。 ##### 1. 通过 shell 程序执行脚本 这种...

    LinuxShell自动化运维-课后习题答案.docx

    Linux Shell 自动化运维课后习题答案 本文档提供了 Linux Shell 自动化运维课后习题答案,涵盖了 Linux Shell 编程、自动化运维等方面的知识点。 一、Shell 编程基础 1. Shell 变量:在 Shell 中,可以使用变量来...

    这是linux之shell练习的题目

    ### Linux Shell 脚本基础与实践 #### 一、Linux 下执行 Shell 脚本的方式 Shell 脚本是 Linux 和 Unix 系统中非常重要的组成部分,它允许用户通过编写一系列命令来自动化复杂的任务。执行 Shell 脚本有两种主要...

    Linux运维-3.Shell编程-11shell基础-119四则运算练习题1.avi

    Linux运维-3.Shell编程-11shell基础-119四则运算练习题1.avi

Global site tag (gtag.js) - Google Analytics