我有以下选择菜单。
#!/bin/bash
PS3='Please enter your choice(1-4): '
options=("First Install" "Add cilent" "Delete Cilent" "Quit")
select opt in "${options[@]}"
do
case $opt in
"First Install")
newinstall
break
;;
"Add cilent")
add_client
break
;;
"Delete Cilent")
delete_client
break
;;
"Quit")
break
;;
*) echo invalid option;;
esac
done
问题在于,当我输入2
时,我会收到invalid option
消息,而所有其他情况都有效。
答案 0 :(得分:1)
为了避免拼写错误,我建议在代码中只使用一次数组options
的字符串。将"First Install")
替换为"${options[0]}")
,将"Add cilent")
替换为"${options[1]}")
等。
#!/bin/bash
PS3='Please enter your choice(1-4): '
options=("First Install" "Add cilent" "Delete Cilent" "Quit")
select opt in "${options[@]}"
do
case $opt in
"${options[0]}")
newinstall
break
;;
"${options[1]}")
add_client
break
;;
"${options[2]}")
delete_client
break
;;
"${options[3]}")
break
;;
*) echo invalid option;;
esac
done