shell脚本语言实现简单的图书管理系统

1#!/bin/bash 2#author:zhanghongjun 3#version:1.0 4#date:20111214日 星期三 21:18:18 CST 5 6 7function information 8{ 9 echo "---------------------------" 10 echo "国家图书馆管理系统(5.4版本)" 11 echo 12 echo -n "| " ;echo "1:添加图书" 13 echo -n "| " ;echo "2:删除图书" 14 echo -n "| " ;echo "3:图书列表" 15 echo -n "| " ;echo "4:查找图书" 16 echo -n "| " ;echo "5|q:退出系统" 17 echo 18 echo "---------------------------" 19 read -p "请输入你的选择:" a 20 21 22 case "$a" in 23 1) 24 add ;; 25 2) 26 delete ;; 27 3) 28 list ;; 29 4) 30 search;; 31 5|q|Q) 32 return -1 ;; 33 *) 34 information ;; 35 esac 36} 37 38 39function file_exist 40{ 41 if [ ! -f .book.txt ];then 42 touch .book.txt 43 fi 44} 45 46 47function add 48{ 49 read -p "请输入图书的编号:" number 50 read -p "请输入图书的书名:" book_name 51 read -p "请输入图书的作者:" author 52 read -p "请输入图书的价格:" price 53 echo -e "$number\t$book_name\t$author\t$price" >>.book.txt && { 54 echo "添加图书成功!" 55 echo "-------------------" 56 } 57 if [ $? -ne 0 ];then 58 echo "添加图书失败" 59 fi 60 information 61 62} 63 64function delete 65{ 66 read -p "请输入要删除的图书的编号:" number 67 grep $number .book.txt &>/dev/null && { 68 sed -i '/\<'$number'\>/d' .book.txt &>/dev/null && 69 echo "删除图书成功" 70 echo "-------------------------" 71 } 72 73 if [ $? -ne 0 ];then 74 echo "删除图书失败" 75 echo "你要删除的图书不存在" 76 fi 77 information 78} 79 80#列出所有图书的信息 81function list 82{ 83 echo -e "编号\t书名\t作者\t价格" 84 cat .book.txt 85 echo "----------------------------" 86 information 87 88} 89 90 91#下面的函数用到的查询菜单 92function search_menu 93{ 94 echo;echo "----------------------------" 95 echo -n "|";echo -e "1:\t按图书编号查询" 96 echo -n "|";echo -e "2:\t按图书书名查询" 97 echo -n "|";echo -e "3:\t按图书作者查询" 98 echo -n "|";echo -e "4:\t按图书价格查询" 99 echo -n "|";echo -e "5|q:\t退出查询系统" 100 echo;echo "----------------------------" 101 102} 103function search 104{ 105 search_menu 106 read -p "请输出你的选择:" myselect 107 case "$myselect" in 108 1) 109 read -p "请输入要查询的图书的编号:" mynumber 110 echo -e "编号\t书名\t作者\t价格\n" 111 awk '$1=='$mynumber'{print $0}' .book.txt 2>/dev/null 112 113 if [ $? -ne 0 ];then 114 echo "图书不存在" 115 fi 116 search 117 ;; 118 2) 119 read -p "请输入你要查询的书名:" mybook_name 120 echo -e "编号\t书名\t作者\t价格\n" 121 awk '$2~/'$mybook_name'/{print $0}' .book.txt 2>/dev/null 122 if [ $? -ne 0 ];then 123 echo "图书不存在" 124 fi 125 search 126 ;; 127 3) 128 read -p "请输入图书的作者:" myauthor 129 echo -e "编号\t书名\t作者\t价格\n" 130 awk '$3~/'$myauthor'/{;print $0}' .book.txt 2>/dev/null 131 if [ $? -ne 0 ];then 132 echo "图书不存在" 133 fi 134 search 135 ;; 136 4) 137 read -p "请输入图书的价格:" myprice 138 echo -e "编号\t书名\t作者\t价格\n" 139 awk '$4=='$myprice'{print $0}' .book.txt 2>/dev/null 140 if [ $? -ne 0 ];then 141 echo "图书不存在" 142 fi 143 search 144 ;; 145 5) 146 information 147 ;; 148 *) 149 information 150 ;; 151 esac 152 153} 154 155information
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )

mysql设置时区

mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0