在bash脚本中使用if的语法错误

时间:2015-12-01 09:47:49

标签: bash if-statement

我想修改现有的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语句的行 我知道我做错了什么?

1 个答案:

答案 0 :(得分:2)

select的使用不正确。它的形式如下:

    select opt in "${options[@]}"
    do 
       echo "You selected ${opt}"
        ....
    done