2016-08-02 2 views
0

Я хочу прочитать раздел и replicationfactor как параметр в цикле for for, как я могу это сделать? Вместо 2 и 3 я хочу читать из rf и разделять соответствующие значения для сырого товара и плохого.Чтение нескольких параметров в цикле for в оболочке

topics=(raw good bad) 
rf=(4 6 8) 
partition=(2 3 4) 
for topic in ${topics[*]} 
do 
    bin/kafka-topics.sh --create --replication-factor 2 --partitions 3 --topic "$topic" --zookeeper $zk_hosts 
done 
+0

Просто, чтобы быть ясным, это было бы, например, «коэффициент повторения 4» - разделы 2 - топический сырой »и« коэффициент репликации 6 »- разделы 3 - топический? – chepner

ответ

2

Похоже, вам нужен числовой цикл:

for ((i = 0; i < ${#topics[@]}; ++i)); do 
    # whatever you want with the corresponding elements of each array, e.g. 
    echo "${topics[i]} ${rf[i]} ${partition[i]}" 
done 

Счетчик цикла от 0 до длины массива topics, таким образом, это предполагает, что каждый из других массивов имеет такое же количество элементы.

Смежные вопросы