linux - 用BashScript制作一个酒店管理系统
我无法纠正这个错误。我试着在Google上搜索,但我不知道我的输出是指什么。它给出了一个行号,但代码就在那里。脚本文件中的IF语句末尾使用 "fi",这是我的代码。
#!/bin/bash
#Declaring all fucntions
#Menu Display Function
set_menu_choice(){
clear
echo "---------------------------------------------"
echo "HOTEL RESERVATION"
echo "-------------------------------------------"
echo "1: BOOK A ROOM."
echo "2: TO VIEW YOUR DATA."
echo 'Please enter the choice: '
read menu_choice
}
#FOR HOTEL SELECTION
roombooking(){
#rtype=ROOM TYPE, hnum=HOTEL NUMBER, pr=PRICE RANGE, sty=DAYS OF STAY.
$i, $j, $x, $rtype, $price, $sty, $bill;
$r;
#
clear
echo "ENTER YOUR PRIZE RANGE MINIMUM(4000): "
read price
#
#Price Check
echo "HOTELS AVAILABLE"
if [[ $price -lt 4000 ]]; then
echo "SORRY NO HOTEL AVAILABLE IN THIS RANGE"
echo "ENTER YOUR PRIZE RANGE AGAIN MINIMUM(4000): "
read price
else if [[ ( $price -gt 4000 && $price -lt 5000 ) ]]; then
echo "HOTEL RAMADA"
#
elif [[ ( $price -gt 5000 && $price -lt 7000 ) ]]; then
echo "1=>HOTEL RAMADA."
echo "2=>TAJ MAHAL."
#
elif [[ ( $price -gt 7000 && $price -lt 9000 ) ]]; then
echo "1=>HOTEL RAMADA."
echo "2=>TAJ MAHAL."
echo "3=>HOTEL MEHRAN."
#
elif [[ ( $price -gt 9000 && $price -lt 10000 ) ]]; then
echo "1=>HOTEL RAMADA."
echo "2=>TAJ MAHAL."
echo "3=>HOTEL MEHRAN."
echo "4=>MOVE AND PICK."
#
elif [[ $price -gt 10000 ]]
echo "1=>PEARL CONTINENTAL."
echo "2=>MOVE AND PICK."
echo "3=>HOTEL MEHRAN."
echo "4=>TAJ MAHAL."
echo "5=>HOTEL RAMADA."
fi
}
# Main Work
printf '\n\n\n'
printf 'Hotel Management System'
# Calling Options Display Function
set_menu_choice
if [[ $menu_choice == 1 ]]; then
roombooking
else
echo "Display Data"
fi
echo "finshed"
我也附上输出运行bashscript文件时出错
EDIT: 在添加了 ; then
在过去 elif
语句,我得到以下错误。
**Syntax Error Expected near Unexpected Token '}'**
【回答】:
首先,你缺少了一个 ; then
这里。
elif [[ $price -gt 10000 ]]
echo "1=>PEARL CONTINENTAL."
echo "2=>MOVE AND PICK."
echo "3=>HOTEL MEHRAN."
echo "4=>TAJ MAHAL."
echo "5=>HOTEL RAMADA."
fi
}
第二,你会得到一个 syntax error near unexpected token '}'
因为你没有关闭每一个语句。只需添加一个最后的 fi
在当前的最后一个(在 roombooking
功能也)。)
elif [[ $price -gt 10000 ]]; then
echo "1=>PEARL CONTINENTAL."
echo "2=>MOVE AND PICK."
echo "3=>HOTEL MEHRAN."
echo "4=>TAJ MAHAL."
echo "5=>HOTEL RAMADA."
fi
fi
}