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

待兔 等级 720 0 0
标签: 运维开发
#!/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
收藏
评论区

相关推荐

Java执行shell脚本并返回结果两种方法的完整代码
Java执行shell脚本并返回结果两种方法的完整代码 简单的是直接传入String字符串,这种不能执行echo 或者需要调用其他进程的命令(比如调用postfix发送邮件命令就不起作用) 执行复杂的shell建议使用String\[\]方式传递(对外可以封装后也传入String字符串)。 /** * 运行shell脚本
IT:从运维到运营
_本文转自公众号:傲寒荐书,作者:陈傲寒_ _IT运维?IT运营?_ _都是 IT Operations,有什么区别?_ _IT运维管理?IT运营管理?_ _都是 ITOM,有什么区别?_ _一字之差,只是翻译不同,还是另有玄机?_ _其实,_**中文真的是一门更精确的语言 :-)** * _IT运维是“活着”,IT运营是“活得好”;_
MySQL运维之
**1、mysqldump备份一个数据库** mysqldump命令备份一个数据库的基本语法: mysqldump -u user -p pwd dbname > Backup.sql 我们来讲解一下备份的文件都包含了什么?\-- MySQL dump 10.13 Distrib 5.5.20, for Win32 (x86)\--
0615 shell编程1
**0615 shell编程1** ================== **一、shell脚本介绍** --------------- * shell是一种脚本语言 和传统的开发语言比较,会比较简单 * shell有自己的语法;可以使用逻辑判断、循环等语法 * 可以自定义函数,目的就是为了减少重复的代码 * shell是系统命令的集合
20.1 shell脚本介绍 20.2 shell脚本结构和执行 20.3 date命令用法 20.4 shell脚本中的变量
第二十章 shell编程 ============ 20.1 shell介绍 ------------ * shell是一种脚本语言 * 可以使用逻辑判断、循环等语法 * 可自定义函数 * shell是系统命令的集合 * shell脚本可以实现自动化运维,能大大增加我们的运维效率 20.2 shell脚本结构和执行 --------
0615 shell编程1
**0615 shell编程1** ================== **一、shell脚本介绍** --------------- * shell是一种脚本语言 和传统的开发语言比较,会比较简单 * shell有自己的语法;可以使用逻辑判断、循环等语法 * 可以自定义函数,目的就是为了减少重复的代码 * shell是系统命令的集合
400+节点的 Elasticsearch 集群运维
> 本文首发于InfoQ [https://www.infoq.cn/article/1sm0Mq5LyY\_021HGuXer](https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fwww.infoq.cn%2Farticle%2F1sm0Mq5LyY_021HGuXer) > > 作者:A
ISG管理运维赛(2018) Web的WP
虽然题目比较简单,还是记录一下,毕竟要多总结嘛:P **0x01** **secret** 输入js中的代码,发现没有flag,发现存在index.html,会跳转,所以抓包发送。Base64解一下,得到flag  flag:ISG{H3IIO\_1sG\_js\_Tr4p}  ![](https://oscimg.oschina.net/oscne
Linux Shell DAY6
shell脚本介绍 ========= shell脚本结构和执行 ============ date命令用法 ======== shell脚本中的变量 =========== 脚本中的逻辑判断 ======== * * * ### shell脚本介绍 shell是什么 shell是一种脚本语言 可以使用逻辑判断、循环等语法 可以自定义函数
Linux shell编程及自动化运维实现 第1章 变量
**1.shell前言** 一,什么是shell ![Linux shell编程及自动化运维实现 第1章 变量](https://s4.51cto.com/images/blog/202009/04/29d10164c845731fba8b649d4bd9478f.png?x-oss-process=image/watermark,size_16,tex
Linux 运维是做什么的
![](https://oscimg.oschina.net/oscnet/up-25a98115c12319b11895484bc9dd5ecd170.png) Linux在现在社会发展是非常受欢迎的一个行业,对于从事Linux方面工作的人来说,属于互联网背后的英雄,没有他们的付出,就没有如今的互联网时代。而在Linux从事岗位之中,Linux运维工程师
Linux环境Shell脚本上传下载阿里云OSS文件
Linux环境Shell脚本上传下载阿里云OSS文件 ========================== 背景 -- 工作中由于我们项目生成的日志文件比较重要,而本地磁盘空间有限存储不了多久,因此考虑备份方案,我们原本打算保存在nas上,然而由于各种原因与运维沟通下来建议保存到oss上面。 由于linux原生支持shell,而网上大多数方案基于pyt
Linux运维常见面试题之精华收录
Linux运维常见面试题之精华收录 ================= **1、什么是运维?什么是游戏运维?** 1)运维是指大型组织已经建立好的网络软硬件的维护,就是要保证业务的上线与运作的正常, 在他运转的过程中,对他进行维护,他集合了网络、系统、数据库、开发、安全、监控于一身的技术 运维又包括很多种,有DBA运维、网站运维、虚
Shell脚本编程——基础篇
Shell脚本概念 --------- 1、将要执行的命令按顺序保存到一个文本文件 2、给该文件可执行权限,便可运行 3、可结合各种shell控制语句以完成更复杂的操作 Shell脚本应用场景 ----------- 1、重复性操作 2、批量事务处理 3、自动化运维 4、服务运行状态监控 5、定时任务执行 完善的shell脚本
Shell运行环境之sudo的环境
\[shell运行环境之环境配置文件\]({{<ref "2015-09-09-shell运行环境之环境配置文件.md">}})讲解了 Shell 里面四个配置文件的作用域以及 Shell 的四种常用模式。在此基础上,我们进一步探究一下在用户切换过程中,运行环境的变化。在 Ubuntu 里,我们通常使用 `sudo` 来提权,使用 `su` 来切换用户,而这