初始化函数【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】