在shell中读取for循环中的多个参数

在shell中读取for循环中的多个参数,shell,Shell,我想把partition和replicationfactor作为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 "$topi

我想把partition和replicationfactor作为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

听起来您需要一个数字循环:

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
((i=0;i<${主题[@]};++i));做 #每个数组的相应元素,如。 echo“${topics[i]}${rf[i]}${partition[i]}” 完成
循环计数器从0到数组长度
主题
,因此假设其他每个数组的元素数相同。

听起来您需要一个数字循环:

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
((i=0;i<${主题[@]};++i));做 #每个数组的相应元素,如。 echo“${topics[i]}${rf[i]}${partition[i]}” 完成
循环计数器从0到数组的长度
主题
,因此这假设其他每个数组都有相同数量的元素。

为了清楚起见,例如,
--复制因子4--分区2--主题原始
--复制因子6--分区3--主题良好
,为了清楚起见,例如,
--复制因子4--分区2--主题原始
--复制因子6--分区3--主题良好