基于linux的shell图书管理系统
时间: 2023-12-13 09:02:51 浏览: 268
可以使用Shell脚本编写一个简单的图书管理系统。以下是一个基本的设计:
1. 书籍数据存储:使用文本文件来存储书籍的信息。每一本书可以被保存为一行,其中包括书名、作者、出版日期、出版社、ISBN号等信息。每本书的信息可以使用逗号分隔,例如:
```
Linux Shell脚本编程,Chris F.A. Johnson,2007,人民邮电出版社,9787115225109
```
2. 添加书籍:当用户选择添加新书时,程序会要求用户输入书籍信息,并将其保存到文本文件中。
3. 删除书籍:当用户选择删除一本书时,程序会要求用户输入要删除的书籍的ISBN号,并查找文本文件中的该书籍并将其删除。
4. 显示书籍列表:当用户选择显示书籍列表时,程序会读取文本文件中的所有书籍信息,并在屏幕上显示出来。
5. 搜索书籍:当用户选择搜索书籍时,程序会要求用户输入一个搜索关键字,例如书名、作者或ISBN号,然后遍历文本文件中的所有书籍信息以查找匹配的书籍,并将它们显示在屏幕上。
可以使用Shell脚本编写以上功能,以下是一个简单的示例代码:
```
#!/bin/bash
BOOK_FILE="books.txt"
function add_book {
echo "请输入书籍信息:"
read -p "书名: " title
read -p "作者: " author
read -p "出版日期: " date
read -p "出版社: " publisher
read -p "ISBN号: " isbn
echo "${title},${author},${date},${publisher},${isbn}" >> $BOOK_FILE
echo "书籍添加成功!"
}
function delete_book {
read -p "请输入要删除的书籍的ISBN号: " isbn
if grep -q "$isbn" $BOOK_FILE; then
sed -i "/$isbn/d" $BOOK_FILE
echo "书籍删除成功!"
else
echo "找不到要删除的书籍!"
fi
}
function list_books {
echo "书名,作者,出版日期,出版社,ISBN号"
echo "------------------------------------"
cat $BOOK_FILE
}
function search_books {
read -p "请输入搜索关键字: " keyword
echo "搜索结果:"
echo "书名,作者,出版日期,出版社,ISBN号"
echo "------------------------------------"
grep -i "$keyword" $BOOK_FILE
}
while true; do
echo "请选择要进行的操作:"
echo "1. 添加书籍"
echo "2. 删除书籍"
echo "3. 显示书籍列表"
echo "4. 搜索书籍"
echo "5. 退出"
read -p "请选择操作 [1-5]: " choice
case $choice in
1) add_book ;;
2) delete_book ;;
3) list_books ;;
4) search_books ;;
5) exit ;;
*) echo "无效的选择!" ;;
esac
done
```
在上述代码中,`BOOK_FILE` 变量指定存储书籍信息的文本文件的路径。`add_book` 函数用于添加一本新书,其中用户需要输入书籍的各种信息,并将其保存到文本文件中。`delete_book` 函数用于删除一本书籍,其中用户需要输入要删除的书籍的ISBN号,并在文本文件中查找该书籍并将其删除。`list_books` 函数用于显示所有书籍的列表。`search_books` 函数用于搜索与给定关键字匹配的书籍,并将它们显示在屏幕上。程序使用无限循环来等待用户的输入,直到用户选择退出。
阅读全文