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

  • 2
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值