linux之shell实现图书管理系统实例详解

发布时间 - 2018-05-26 00:00:00    点击率:

本文主要介绍了shell实现图书管理系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能帮助到大家更好的学习shell。

本文实例为大家分享了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如何解决执行shell脚本不产生core文件

Linux shell ftp按照日期去下载文件的方法

运用Shell 命令行获得本机IP地址


# linux  # php  # 请输入  # 不存在  # 你要  # 图书管理系统  # 管理系统  # 有一定  # 感兴趣  # 希望能  # 查询系统  # 本机 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何构建满足综合性能需求的优质建站方案?  微博html5版本怎么弄发超话_超话进入入口及发帖格式要求【教程】  Laravel Session怎么存储_Laravel Session驱动配置详解  Laravel如何实现API速率限制?(Rate Limiting教程)  如何在 React 中条件性地遍历数组并渲染元素  高防服务器租用指南:配置选择与快速部署攻略  如何在阿里云高效完成企业建站全流程?  进行网站优化必须要坚持的四大原则  如何用PHP工具快速搭建高效网站?  Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】  Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】  如何在腾讯云服务器上快速搭建个人网站?  nginx修改上传文件大小限制的方法  清除minerd进程的简单方法  高性能网站服务器配置指南:安全稳定与高效建站核心方案  详解jQuery中基本的动画方法  Laravel如何创建和注册中间件_Laravel中间件编写与应用流程  lovemo网页版地址 lovemo官网手机登录  用v-html解决Vue.js渲染中html标签不被解析的问题  敲碗10年!Mac系列传将迎来「触控与联网」双革新  制作旅游网站html,怎样注册旅游网站?  如何获取上海专业网站定制建站电话?  html如何与html链接_实现多个HTML页面互相链接【互相】  HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】  如何用西部建站助手快速创建专业网站?  Laravel集合Collection怎么用_Laravel集合常用函数详解  Laravel storage目录权限问题_Laravel文件写入权限设置  如何用AWS免费套餐快速搭建高效网站?  Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧  如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环  laravel怎么使用数据库工厂(Factory)生成带有关联模型的数据_laravel Factory生成关联数据方法  Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门  简历在线制作网站免费版,如何创建个人简历?  Laravel怎么清理缓存_Laravel optimize clear命令详解  Laravel如何处理JSON字段的查询和更新_Laravel JSON列操作与查询技巧  如何快速启动建站代理加盟业务?  1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤  公司网站制作需要多少钱,找人做公司网站需要多少钱?  详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南  Linux网络带宽限制_tc配置实践解析【教程】  如何快速搭建高效服务器建站系统?  如何挑选优质建站一级代理提升网站排名?  如何快速生成凡客建站的专业级图册?  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  Android滚轮选择时间控件使用详解  如何登录建站主机?访问步骤全解析  韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐  android nfc常用标签读取总结  Laravel如何使用查询构建器?(Query Builder高级用法)  如何用花生壳三步快速搭建专属网站?