shell实现图书管理系统

所属分类: 脚本专栏 / linux shell 阅读数: 1925
收藏 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 

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

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

php编译安装常见错误大全和解决方法

这篇文章主要介绍了php编译安装常见错误大全和解决方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Linux base shell重定向详解

这篇文章主要介绍了Linux base shell重定向的相关资料,并用一个简明例子总结了常见用法(在第三节),需要的朋友可以参考下
收藏 0 赞 0 分享

Linux Shell 常见的命令行格式简明总结

这篇文章主要介绍了Linux Shell 常见的命令行格式简明总结,非常实用,需要的朋友可以参考下
收藏 0 赞 0 分享

Shell 命令替换的两种方式

这篇文章主要介绍了Shell 命令替换的两种方式,需要的朋友可以参考下
收藏 0 赞 0 分享

Python创建、删除桌面、启动组快捷方式的例子分享

这篇文章主要介绍了Python创建、删除桌面、启动组快捷方式的例子分享,需要的朋友可以参考下
收藏 0 赞 0 分享

shell基础学习中的字符串操作、for循环语句示例

这篇文章主要介绍了shell基础学习中的字符串操作、for循环语句示例
收藏 0 赞 0 分享

shell脚本中28个特殊字符的作用简明总结

这篇文章主要介绍了shell脚本中28个特殊字符的作用简明总结,需要的朋友可以参考下
收藏 0 赞 0 分享

linux shell流程控制语句实例讲解(if、for、while、case语句实例)

linux shell有一套自己的流程控制语句,其中包括条件语句(if),循环语句(for,while),选择语句(case)。下面我将通过例子介绍下,各个语句使用方法
收藏 0 赞 0 分享

分享一个实用的iptables脚本(各种过滤写法参考)

这篇文章主要介绍了分享一个实用的iptables脚本(各种过滤写法参考),需要的朋友可以参考下
收藏 0 赞 0 分享

shell脚本实现ssh自动登录功能分享

mac下没有找到好用的类似secureCRT,就自己写了个自动登录的脚本,分享一下,如果是新浪的,就基本不用修改代码就直接能用
收藏 0 赞 0 分享
查看更多