脚本专栏 
首页 > 脚本专栏 > 浏览文章

shell实现图书管理系统

(编辑:jimmy 日期: 2024/11/26 浏览:3 次 )

本文实例为大家分享了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 [ $"添加图书失败" 
  fi 
  information 
 
} 
 
function delete 
{ 
  read -p "请输入要删除的图书的编号:" number 
  grep $number .book.txt &>/dev/null && { 
      sed -i '/\<'$number'\>/d' .book.txt &>/dev/null && 
      echo "删除图书成功"  
  echo "-------------------------" 
  } 
   
  if [ $"删除图书失败" 
    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 [ $"图书不存在" 
    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 [ $"图书不存在" 
    fi 
    search 
    ;; 
  3) 
    read -p "请输入图书的作者:" myauthor 
    echo -e "编号\t书名\t作者\t价格\n" 
    awk '$3~/'$myauthor'/{;print $0}' .book.txt 2>/dev/null 
    if [ $"图书不存在" 
    fi 
    search 
    ;; 
  4) 
    read -p "请输入图书的价格:" myprice 
    echo -e "编号\t书名\t作者\t价格\n" 
    awk '$4=='$myprice'{print $0}' .book.txt 2>/dev/null 
    if [ $"图书不存在" 
    fi 
    search 
    ;; 
  5) 
    information 
    ;; 
  *) 
    information 
    ;; 
  esac 
 
} 
 
information 

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

上一篇:shell命令while循环中使用sleep命令代码示例
下一篇:详解Shell编程之变量数值计算(二)
一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网 网站地图 SiteMap