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

时间:2011-05-10 20:12:24

标签: bash programming-languages

我试图将工作作为下一个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

谢谢

FIXED:

使用它:

hostname=`hostname -s`

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

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

感谢这个link

1 个答案:

答案 0 :(得分:2)

qaiservers=('v-qai01' 'v-qai02')