我想在我的for循环中读取分区和复制因子作为参数我该怎么办?而不是2和3我想从rf读取并分配相应的原始好坏的值。
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 :(得分: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
的长度,因此这假定每个其他数组具有相同数量的元素。