Bash:检查元素是否在数组中

Bash:检查元素是否在数组中,bash,programming-languages,Bash,Programming Languages,我试图让work成为下一个bash代码,但似乎我做错了: hostname=`hostname -s` qaiservers={'v-qai01' 'v-qai02'} for i in ${qaiservers[@]} do if [[ $i = ${hostname} ]]; then echo 1 else echo 0 fi done 当前主机名为v-qai01,应该与验

我试图让work成为下一个bash代码,但似乎我做错了:

hostname=`hostname -s`
qaiservers={'v-qai01' 'v-qai02'}


for i in ${qaiservers[@]}
do
        if [[ $i = ${hostname} ]]; then
                echo 1
        else
                echo 0
        fi
done
当前主机名为v-qai01,应该与验证匹配,但它不匹配:

./run.sh: line 14: v-qai02}: command not found
./run.sh: line 15: }: command not found
多谢各位

固定的:

使其与以下各项协同工作:

hostname=`hostname -s`

qaiservers=("v-qai01" "v-qai02")
#portales={'t1wsyellar01' }

for i in "${qaiservers[@]}"
do
    if [ "$i" == "${hostname}" ] ; then
        echo "Found"
    fi
done

由于此

仅使用
[[双括号]]中的
=
运算符,使其工作正常
qaiservers=('v-qai01' 'v-qai02')