这里写自定义目录标题
这个是linux系统的吃货联盟代码
#!/bin/bash
#定义餐品信息
num=( 1 2 3 4 ) #菜品单号
cp_name=( “人肉叉烧包” “粉身碎骨小青龙” “乾坤叫花鸭” “玉女脱衣” ) #菜品名称
price=( 198 98 388 69 ) #菜品单价
click=( 0 0 0 0 ) #菜品点赞数
#定义数组存放订餐在餐袋中
meal_number=() #序号
meal_name=() #订单人
meal_cpname=() #菜品名称
meal_pime=() #时间
meal_app=() #地址
meal_moy=() #总金额
meal_zt=() #订单状态
for ((p=0;;p++))
do
echo “* 欢迎光临吃货联盟订餐系统”
echo “1、我要订餐”
echo “2、查看餐袋”
echo “3、签收订单”
echo “4、删除订单”
echo “5、我要点赞”
echo “6、退出系统”
read -p “请输入你的选择:” info #-p参数从键盘输入添加提示
if [[ " i n f o " = [ 0 − 9 ] ∗ info" =~ ^[0-9]* info"= [0−9]∗ ]]; then
if [ “ i n f o " − g e 1 − a " info" -ge 1 -a " info"−ge1−a"info” -le 6 ]; then
case i n f o i n 1 ) f o r ( ( i = 0 ; ; i + + ) ) d o i f [ ! " info in 1) for ((i=0;;i++)) do if [ ! " infoin1)for((i=0;;i++))doif[!"{meal_number[ KaTeX parse error: Expected 'EOF', got '}' at position 3: i]}̲" ]; then #判断…{#num[ ]};j++))
do
echo “我要订餐”
read -p “请输入订餐人姓名:” name
echo -e “序号\t菜单\t\t单价\t点赞数”
for s in KaTeX parse error: Expected 'EOF', got '#' at position 11: {!num[*]} #̲for in循环遍历菜单 d…{num[KaTeX parse error: Expected 'EOF', got '}' at position 3: s]}̲\t{cp_name[KaTeX parse error: Expected 'EOF', got '}' at position 3: s]}̲\t{price[KaTeX parse error: Expected 'EOF', got '}' at position 3: s]}̲\t{click[KaTeX parse error: Expected 'EOF', got '}' at position 3: s]}̲" done read -p…number" =~ 1$ ]]; then #判断输入的是不是数字
if [ “ KaTeX parse error: Expected 'EOF', got '#' at position 50: …输入份数:" copies #̲份数 if [[ "copies” =~ 2 $ ]]; then #判断输入的是不是数字
read -p “请输入订餐时间(营业时间10-20点):” pime #时间
if [[ " p i m e " = [ 0 − 9 ] ∗ pime" =~ ^[0-9]* pime"= [0−9]∗ ]]; then #判断输入的是不是数字
if [ “ p i m e " − g e " 10 " − a " pime" -ge "10" -a " pime"−ge"10"−a"pime” -le “20” ];then #判断时间是否正确
read -p “请输入地址:” app #地址
echo "订餐成功"
echo “你的订餐是:KaTeX parse error: Expected '}', got 'EOF' at end of input: {cp_name[(( number-1 ))]}预定订了$copies份”
echo "餐费是 $(( c o p i e s ∗ copies* copies∗{price[KaTeX parse error: Expected 'EOF', got '}' at position 16: (( number-1 ))]}̲ ))" #遍…{#meal_number[]}]= ( ( i + 1 ) ) m e a l n a m e [ (( i+1 )) meal_name[ ((i+1))mealname[{#meal_name[]}]= n a m e m e a l c p n a m e [ name meal_cpname[ namemealcpname[{#meal_cpname[ ]}]=KaTeX parse error: Expected '}', got 'EOF' at end of input: {cp_name[(( number-1 ))]}
meal_pime[KaTeX parse error: Expected '}', got '#' at position 2: {#̲meal_pime[*]}]=pime
meal_app[KaTeX parse error: Expected '}', got '#' at position 2: {#̲meal_app[*]}]=app
meal_moy[KaTeX parse error: Expected '}', got '#' at position 2: {#̲meal_moy[*]}]=(( c o p i e s ∗ copies* copies∗{price[KaTeX parse error: Expected 'EOF', got '}' at position 16: (( number-1 ))]}̲ )) meal_zt[{#meal_zt[]}]=“已预定”
break
else
echo “现在不是订餐时间请到时间再进行点餐”
break #跳出循环
fi
else
echo “您输入的订餐时间格式不对,请重新输入”
break
fi
else
echo “你输入的份数错误请重新输入”
break
fi
else
echo “您输入的订餐编号有误请重新输入(必须是菜单里的菜品)”
break
fi
else
echo “你输入 n u m b e r 的 订 单 编 号 不 存 在 " b r e a k f i d o n e e l i f [ " number的订单编号不存在" break fi done elif [ " number的订单编号不存在"breakfidoneelif["{meal_number[ KaTeX parse error: Expected 'EOF', got '}' at position 3: i]}̲" -ge 4 ]; the…ap_num” == 0 ]; then
break 2
else
echo “你输入错误请重新输入”
continue
fi
done
done
;;
2)
echo “查看餐袋”
echo -e “序号\t订餐人\t菜品信息\t订餐时间\t送餐地址\t总金额\t订单状态”
#遍历餐袋信息
for((j=0;j<KaTeX parse error: Expected '}', got '#' at position 2: {#̲meal_number[*]}…{meal_number[KaTeX parse error: Expected 'EOF', got '}' at position 3: j]}̲\t{meal_name[KaTeX parse error: Expected 'EOF', got '}' at position 3: j]}̲\t{meal_cpname[KaTeX parse error: Expected 'EOF', got '}' at position 3: j]}̲\t{meal_pime[KaTeX parse error: Expected 'EOF', got '}' at position 3: j]}̲点\t\t{meal_app[KaTeX parse error: Expected 'EOF', got '}' at position 3: j]}̲\t\t{meal_moy[KaTeX parse error: Expected 'EOF', got '}' at position 3: j]}̲元\t{meal_zt[KaTeX parse error: Expected 'EOF', got '}' at position 3: j]}̲" done for((j…ap_num" == 0 ]; then
break
else
echo “你输入错误请重新输入”
continue
fi
done
;;
3)
echo “签收订单”
echo -e “序号\t订餐人\t菜品信息\t订餐时间\t送餐地址\t总金额\t订单状态”
for((j=0;j<KaTeX parse error: Expected '}', got '#' at position 2: {#̲meal_number[*]}…{meal_number[KaTeX parse error: Expected 'EOF', got '}' at position 3: j]}̲\t{meal_name[KaTeX parse error: Expected 'EOF', got '}' at position 3: j]}̲\t{meal_cpname[KaTeX parse error: Expected 'EOF', got '}' at position 3: j]}̲\t{meal_pime[KaTeX parse error: Expected 'EOF', got '}' at position 3: j]}̲点\t\t{meal_app[KaTeX parse error: Expected 'EOF', got '}' at position 3: j]}̲\t\t{meal_moy[KaTeX parse error: Expected 'EOF', got '}' at position 3: j]}̲元\t{meal_zt[KaTeX parse error: Expected 'EOF', got '}' at position 3: j]}̲" done echo -n…{meal_number[$(( dd_number-1 ))]}" -a $dd_number -gt 0 -a
d
d
n
u
m
b
e
r
−
l
e
4
]
;
t
h
e
n
f
o
r
(
(
j
=
0
;
j
<
dd_number -le 4 ]; then for((j=0;j<
ddnumber−le4];thenfor((j=0;j<{#meal_number[*]};j++))
do
if [ “KaTeX parse error: Expected '}', got 'EOF' at end of input: {meal_zt[(( dd_number-1 ))]}” == “已预定” ]; then
meal_zt[
(
(
d
d
n
u
m
b
e
r
−
1
)
)
]
=
已
签
收
e
c
h
o
"
你
的
订
单
(( dd_number-1 ))]=已签收 echo "你的订单
((ddnumber−1))]=已签收echo"你的订单{meal_zt[KaTeX parse error: Expected 'EOF', got '}' at position 19: …dd_number-1 ))]}̲" elif [ "{meal_zt[KaTeX parse error: Expected 'EOF', got '}' at position 19: …dd_number-1 ))]}̲" == "已签收" ]; t…ap_num" == 0 ]; then
break 2
else
echo “你输入错误请重新输入”
continue #跳过本次循环
fi
done
done
else
echo "你输入的订单号不正确请重新输入"
continue
fi
;;
4)
echo “删除订单”
echo -e “序号\t订餐人\t菜品信息\t订餐时间\t送餐地址\t总金额\t订单状态”
for((j=0;j<KaTeX parse error: Expected '}', got '#' at position 2: {#̲meal_number[*]}…{meal_number[KaTeX parse error: Expected 'EOF', got '}' at position 3: j]}̲\t{meal_name[KaTeX parse error: Expected 'EOF', got '}' at position 3: j]}̲\t{meal_cpname[KaTeX parse error: Expected 'EOF', got '}' at position 3: j]}̲\t{meal_pime[KaTeX parse error: Expected 'EOF', got '}' at position 3: j]}̲点\t\t{meal_app[KaTeX parse error: Expected 'EOF', got '}' at position 3: j]}̲\t\t{meal_moy[KaTeX parse error: Expected 'EOF', got '}' at position 3: j]}̲元\t{meal_zt[KaTeX parse error: Expected 'EOF', got '}' at position 3: j]}̲" done read -p…sc_num" =~ 3$ ]]; then
echo "你要删除的订单编号是
s
c
n
u
m
"
f
o
r
(
(
i
=
0
;
i
<
sc_num" for((i=0;i<
scnum"for((i=0;i<{#meal_number[]};i++))
do
if [ -n “KaTeX parse error: Expected '}', got 'EOF' at end of input: {meal_number[(( sc_num-1 ))]}” -a “KaTeX parse error: Expected '}', got 'EOF' at end of input: {meal_zt[(( sc_num-1 ))]}” == “已预定” ];then
echo “你要删除的订单没有签收,不能删除”
break
elif [ -n “KaTeX parse error: Expected '}', got 'EOF' at end of input: {meal_number[(( sc_num-1 ))]}” -a “KaTeX parse error: Expected '}', got 'EOF' at end of input: {meal_zt[(( sc_num-1 ))]}” == “已签收” ];then
for((j=
s
c
n
u
m
−
1
;
j
<
sc_num-1;j<
scnum−1;j<{#meal_number[]};j++))
do
#要删除订单后的订单向前移动一个位置
meal_number[
j
]
=
j]=
j]={meal_number[KaTeX parse error: Expected 'EOF', got '}' at position 11: (( j+1 ))]}̲ meal_name[j]=KaTeX parse error: Expected '}', got 'EOF' at end of input: {meal_name[(( j+1 ))]}
meal_cpname[
j
]
=
j]=
j]={meal_cpname[KaTeX parse error: Expected 'EOF', got '}' at position 11: (( j+1 ))]}̲ meal_pime[j]=KaTeX parse error: Expected '}', got 'EOF' at end of input: {meal_pime[(( j+1 ))]}
meal_app[
j
]
=
j]=
j]={meal_app[KaTeX parse error: Expected 'EOF', got '}' at position 11: (( j+1 ))]}̲ meal_moy[j]=KaTeX parse error: Expected '}', got 'EOF' at end of input: {meal_moy[(( j+1 ))]}
meal_zt[
j
]
=
j]=
j]={meal_zt[KaTeX parse error: Expected 'EOF', got '}' at position 11: (( j+1 ))]}̲ done echo…{#meal_number[]}-1]
unset meal_name[KaTeX parse error: Expected '}', got '#' at position 2: {#̲meal_name[*]}-1…{#meal_cpname[]}-1]
unset meal_pime[KaTeX parse error: Expected '}', got '#' at position 2: {#̲meal_pime[*]}-1…{#meal_app[]}-1]
unset meal_moy[KaTeX parse error: Expected '}', got '#' at position 2: {#̲meal_moy[*]}-1]…{#meal_zt[]}-1]
for((j=0;;j++))
do
read -p “请输入0返回主菜单:” ap_num
if [ “$ap_num” == 0 ]; then
break 2
else
echo “你输入错误请重新输入”
continue
fi
done
done
else
echo “你输入的订单编号不存在请重新输入”
fi
;;
5)
echo “我要点赞”
echo -e “序号\t菜单\t\t单价\t点赞数”
echo -e “\t菜单列表如下:\t”
for s in
!
n
u
m
[
∗
]
d
o
e
c
h
o
−
e
"
{!num[*]} do echo -e "
!num[∗]doecho−e"{num[KaTeX parse error: Expected 'EOF', got '}' at position 3: s]}̲\t{cp_name[KaTeX parse error: Expected 'EOF', got '}' at position 3: s]}̲\t{price[KaTeX parse error: Expected 'EOF', got '}' at position 3: s]}̲\t{click[KaTeX parse error: Expected 'EOF', got '}' at position 3: s]}̲" done …dz_num" -le “4” ]; then
a=KaTeX parse error: Expected '}', got 'EOF' at end of input: {click[dz_num-1]} #定义变量a来实现累加功能
a=
(
(
((
((a+1))
click[
d
z
n
u
m
−
1
]
=
dz_num-1]=
dznum−1]=a
echo -e “点赞完成后的菜单列表”
for s in KaTeX parse error: Expected 'EOF', got '#' at position 18: …num[*]} #̲遍历输出菜品信息 …{num[KaTeX parse error: Expected 'EOF', got '}' at position 3: s]}̲\t{cp_name[KaTeX parse error: Expected 'EOF', got '}' at position 3: s]}̲\t{price[KaTeX parse error: Expected 'EOF', got '}' at position 3: s]}̲\t{click[KaTeX parse error: Expected 'EOF', got '}' at position 3: s]}̲" done …ap_num" == 0 ]; then
break 2
else
echo “你输入错误请重新输入”
continue
fi
done
done
;;
6)
echo "退出系统"
for (( j=0;;j++ ))
do
echo “退出请输入(yes/ye/y/s/是)”
echo “不退出请输入(no/n/f/否)”
typeset -l tc #把字母转换成小写
read -p “你是否退出系统:” tc
if [[ "
t
c
"
=
[
a
−
z
A
−
Z
]
∗
tc" =~ ^[a-zA-Z]*
tc"= [a−zA−Z]∗ ]]; then #判断是不是字母
if [ “
t
c
"
=
=
y
e
s
−
o
"
tc" == yes -o "
tc"==yes−o"tc” == ye -o “
t
c
"
=
=
y
−
o
"
tc" == y -o "
tc"==y−o"tc” == “s” ]; then
echo “系统退出中欢迎下次使用吃货联盟订餐系统”
break 2
elif [ “
t
c
"
=
=
n
−
o
"
tc" == n -o "
tc"==n−o"tc” == no -o “
t
c
"
=
=
f
]
;
t
h
e
n
e
c
h
o
"
你
没
有
退
出
系
统
"
b
r
e
a
k
e
l
s
e
c
o
n
t
i
n
u
e
f
i
e
l
i
f
[
"
tc" == f ]; then echo "你没有退出系统" break else continue fi elif [ "
tc"==f];thenecho"你没有退出系统"breakelsecontinuefielif["tc” == “是” ]; then
echo “系统退出中欢迎下次使用吃货联盟订餐系统”
break 2
elif [ “
t
c
"
=
=
"
否
"
]
;
t
h
e
n
e
c
h
o
"
你
没
有
退
出
系
统
"
b
r
e
a
k
e
l
s
e
e
c
h
o
"
你
输
入
的
是
其
他
字
符
"
f
i
d
o
n
e
;
;
e
s
a
c
e
l
s
e
e
c
h
o
"
你
输
入
的
操
作
没
有
请
你
重
新
选
择
操
作
"
f
i
e
l
s
e
e
c
h
o
"
你
输
入
操
作
tc" =="否" ];then echo "你没有退出系统" break else echo "你输入的是其他字符" fi done ;; esac else echo "你输入的操作没有请你重新选择操作" fi else echo "你输入操作
tc"=="否"];thenecho"你没有退出系统"breakelseecho"你输入的是其他字符"fidone;;esacelseecho"你输入的操作没有请你重新选择操作"fielseecho"你输入操作info编号不存在”
fi
done