Bash: проверить, находится ли элемент в массиве - PullRequest
1 голос
/ 11 мая 2011

Я пытаюсь заставить работать следующий код 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

Сделано это работает благодаря этой ссылке

1 Ответ

2 голосов
/ 11 мая 2011
qaiservers=('v-qai01' 'v-qai02')
...