完整代码
初始化函数【init.sh】
function initHotel(){ # 判断文件夹是否存在 file=hotel if [ ! -d "$file" ] then mkdir hotel echo "初始化文件夹成功" fi file_f="hotel/f1n1.txt" # 清空变量 unset isf if [ -f "$file_f" ] then read -p "是否覆盖初始化?(yes/no)" isf if [ $isf = "no" ] then echo "取消初始化,保留原数据." sleep 1 # 取消初始化 return 0 else # 清空文件夹 rm -rf hotel/ # 重新创建文件夹以及对应房间 mkdir hotel # 创建房间 createFile fi else # 创建房间 createFile fi # 返回1代表完成 return 1 } function createFile(){ for((i=1;i<=5;i++)) do for((j=1;j<10;j++)) do touch "hotel/f"$i"n"$j".txt" done done } initHotel
查询房间【finds.sh】
function finds(){ # 累积是否换行次数 count=0 for((i=1;i<=5;i++)) do for((j=1;j<10;j++)) do ((count++)) file="f"$i"n"$j".txt" # 空 if [ ! -s "hotel/$file" ] && [ $1 == 0 ] then echo -n -e $file"\t" if ((count%5==0)) then echo fi continue fi # 非空 if [ -s "hotel/$file" ] && [ $1 == 1 ] then echo -n -e $file"\t" if ((count%5==0)) then echo fi fi done done echo } finds $1
入住房间【inInfo.sh】
read -p "请输入入住房号(例:f1n1):" fno read -p "请输入入住人姓名:" name read -p "请输入入住人手机号:" phone read -p "请输入入住人身份证号码:" idcard echo "$name - $phone -$idcard">"hotel/$fno".txt echo "$name 入住完毕 入住房间$fno" echo "$name - $phone -$idcard 入住 $fno">>hotel.log taike@taikeEDU:~/桌面/fun$ vi admin.sh
退出房间【outInfo.sh】
read -p "请输入退房房号(例:f2n7):" nums info=$(cat hotel/$nums.txt) echo "$info 退房 $nums">>hotel.log echo "正在检查房间..." sleep 1 echo "退房完毕。" >"hotel/$nums".txt
运行主程序【main.sh】
clear echo "--------------------------" echo "-----欢迎来到豪华酒店-----" echo "--------------------------" # 初始化房间 source init.sh while : do echo "-----1、查看未住房间------" echo "-----2、查看入住房间------" echo "-----3、房间入住操作------" echo "-----4、房间退房操作------" echo "-----5、退出操作系统------" echo "--------------------------" read -p "请输入操作选项:" nums case $nums in 1) source finds.sh 0 ;; 2) source finds.sh 1 ;; 3) source inInfo.sh ;; 4) source outInfo.sh ;; 5)echo "欢迎下次继续使用!" exit ;; esac done
留存日志【log.log】
功能演示
功能1
功能3房间入住操作
功能4房间退房操作
功能2查看入住房间
功能5退出操作系统
日志查看【hotel.log】