我想修改现有的bash脚本,以避免在传递任何参数时询问来自usedr的输入数据。 现在该部分如果现有脚本如下并且工作正常:
options=("a" "b" "c" "d" "e")
select opt in "${options[@]}"
我正在改变:
options=("a" "b" "c" "d")
if [ $# = 0 ] ; then
select opt in "${options[@]}"
else
opt=$1
fi
当我运行它时(有或没有参数)我得到以下错误
/usr/local/sbin/script.sh: line 486: syntax error near unexpected token `else'
/usr/local/sbin/script.sh: line 486: `else'
第486行是我的else语句的行 我知道我做错了什么?
答案 0 :(得分:2)
select
的使用不正确。它的形式如下:
select opt in "${options[@]}"
do
echo "You selected ${opt}"
....
done