shell实现图书管理系统

所属分类: 脚本专栏 / linux shell 阅读数: 1946
收藏 0 赞 0 分享

本文实例为大家分享了shell实现图书管理系统的具体代码,供大家参考,具体内容如下

#!/bin/bash 
#author:zhanghongjun 
#version:1.0 
#date:2011年 12月 14日 星期三 21:18:18 CST 
 
 
function information 
{ 
  echo "---------------------------" 
  echo "图书馆管理系统(5.4版本)" 
  echo  
  echo -n "| " ;echo "1:添加图书" 
  echo -n "| " ;echo "2:删除图书" 
  echo -n "| " ;echo "3:图书列表" 
  echo -n "| " ;echo "4:查找图书" 
  echo -n "| " ;echo "5|q:退出系统" 
  echo  
  echo "---------------------------" 
  read -p "请输入你的选择:" a 
   
 
  case "$a" in 
  1) 
    add ;; 
  2) 
    delete ;; 
  3) 
    list ;; 
  4) 
    search;; 
  5|q|Q) 
    return -1 ;; 
  *) 
    information ;; 
  esac 
} 
 
 
function file_exist 
{ 
  if [ ! -f .book.txt ];then 
    touch .book.txt 
  fi 
} 
 
 
function add 
{ 
  read -p "请输入图书的编号:" number 
  read -p "请输入图书的书名:" book_name 
  read -p "请输入图书的作者:" author 
  read -p "请输入图书的价格:" price  
    echo -e "$number\t$book_name\t$author\t$price" >>.book.txt && { 
      echo "添加图书成功!" 
      echo "-------------------" 
    } 
  if [ $? -ne 0 ];then 
    echo "添加图书失败" 
  fi 
  information 
 
} 
 
function delete 
{ 
  read -p "请输入要删除的图书的编号:" number 
  grep $number .book.txt &>/dev/null && { 
      sed -i '/\<'$number'\>/d' .book.txt &>/dev/null && 
      echo "删除图书成功"  
  echo "-------------------------" 
  } 
   
  if [ $? -ne 0 ];then 
    echo "删除图书失败" 
    echo "你要删除的图书不存在" 
  fi 
  information 
} 
 
#列出所有图书的信息 
function list 
{ 
  echo -e "编号\t书名\t作者\t价格" 
  cat .book.txt 
  echo "----------------------------" 
  information 
   
} 
 
 
#下面的函数用到的查询菜单 
function search_menu 
{ 
  echo;echo "----------------------------"  
  echo -n "|";echo -e "1:\t按图书编号查询" 
  echo -n "|";echo -e "2:\t按图书书名查询" 
  echo -n "|";echo -e "3:\t按图书作者查询" 
  echo -n "|";echo -e "4:\t按图书价格查询" 
  echo -n "|";echo -e "5|q:\t退出查询系统" 
  echo;echo "----------------------------"  
 
} 
function search 
{ 
  search_menu 
  read -p "请输出你的选择:" myselect 
  case "$myselect" in 
  1) 
    read -p "请输入要查询的图书的编号:" mynumber 
    echo -e "编号\t书名\t作者\t价格\n" 
    awk '$1=='$mynumber'{print $0}' .book.txt 2>/dev/null  
               
    if [ $? -ne 0 ];then 
      echo "图书不存在" 
    fi 
    search 
    ;; 
  2) 
    read -p "请输入你要查询的书名:" mybook_name 
    echo -e "编号\t书名\t作者\t价格\n" 
    awk '$2~/'$mybook_name'/{print $0}' .book.txt 2>/dev/null 
    if [ $? -ne 0 ];then 
      echo "图书不存在" 
    fi 
    search 
    ;; 
  3) 
    read -p "请输入图书的作者:" myauthor 
    echo -e "编号\t书名\t作者\t价格\n" 
    awk '$3~/'$myauthor'/{;print $0}' .book.txt 2>/dev/null 
    if [ $? -ne 0 ];then 
      echo "图书不存在" 
    fi 
    search 
    ;; 
  4) 
    read -p "请输入图书的价格:" myprice 
    echo -e "编号\t书名\t作者\t价格\n" 
    awk '$4=='$myprice'{print $0}' .book.txt 2>/dev/null 
    if [ $? -ne 0 ];then 
      echo "图书不存在" 
    fi 
    search 
    ;; 
  5) 
    information 
    ;; 
  *) 
    information 
    ;; 
  esac 
 
} 
 
information 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

linux whatis与whatis database 使用及查询方法(man使用实例)

在学习man命令时候,估计很多朋友都发现有man –f ,man –k 参数,可以查出很多数据。这些有的与man手册页相同,有些不是属于手册页的。它们数据怎么收集来的,并且whatis是怎么样工作的
收藏 0 赞 0 分享

linux dev 常见特殊设备介绍与应用(loop,null,zero,full,random)

这篇文章主要介绍了linux dev 常见特殊设备介绍与应用(loop,null,zero,full,random),需要的朋友可以参考下
收藏 0 赞 0 分享

linux shell命令快捷获得系统帮助(一)[man-pages定义规范]

linux命令帮助,一般有2种,命令自身代码里面带有使用帮助说明,这种一般很精简,太长了,程序自身的大小以及日常维护不方便。还有一种,就是带有帮助文件,类似windows的chm格式文件。下面我说下这2种怎么样查阅
收藏 0 赞 0 分享

linux shell实现随机数几种方法分享(date,random,uuid)

这篇文章主要介绍了linux shell实现随机数多种方法(date,random,uuid),需要的朋友可以参考下
收藏 0 赞 0 分享

linux shell 脚本实现tcp/upd协议通讯(重定向应用)

这篇文章主要介绍了linux shell 脚本实现tcp/upd协议通讯(重定向应用),需要的朋友可以参考下
收藏 0 赞 0 分享

linux shell数据重定向(输入重定向与输出重定向)详细分析

这篇文章主要介绍了linux shell数据重定向(输入重定向与输出重定向)详细分析,需要的朋友可以参考下
收藏 0 赞 0 分享

linux shell 管道命令(pipe)使用及与shell重定向区别

这篇文章主要介绍了linux shell 管道命令(pipe)使用及与shell重定向区别,需要的朋友可以参考下
收藏 0 赞 0 分享

Linux下使用tcpdump抓包的实现方法

tcpdump是Linux下面的一个开源的抓包工具,和Windows下面的wireshark抓包工具一样, 支持抓取指定网口、指定目的地址、指定源地址、指定端口、指定协议的数据。这篇文章主要介绍了Linux下使用tcpdump抓包的实现方法,需要的朋友可以参考下
收藏 0 赞 0 分享

零基础入门篇之Linux及Arm-Linux程序开发笔记

这篇文章主要介绍了零基础入门篇之Linux及Arm-Linux程序开发笔记,需要的朋友可以参考下
收藏 0 赞 0 分享

Linux 中 CURL常用命令详解

这篇文章主要介绍了Linux 中 CURL常用命令详解,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多