For bash中具有多个条件的循环

问题描述 投票:1回答:2

首先,我已经阅读了问题for loop with multiple conditions in Bash scripting,但它不适用于我打算做的事情。在以下脚本中,第一个for循环将f数组数量分配给一对变量(CON_PERC和CON_NAME

f=0
for i in "${container[@]}"; do
CON_PERC[$f]=$(awk '{print int($2+0)}' <<< ="${container[$f]}") #CON_PERC[0] = 2; CON_PERC[1] = 0
CON_NAME[$f]=$(awk '{print $1}' <<< "${container[$f]}") #CON_NAME[0] = hi; CON_NAME[1] = bye
((f++))
done

我现在需要做的是在一个单独的循环中,检查两个变量的每个数组并打印它们。最好的方法是什么?

我很难做到的是这样>>

e=0
for ((x in "$CON_PERC[@]" && z in "$CON_NAME[@]")); do
echo "${CON_NAME[$e]}  ${CON_PERC[$e]}"
((e++))
done

但似乎for((“ $ CON_PERC [@]中的i和” $ CON_NAME [@]“中的&& e)

在bash中无效。

问题是,解决此问题的最佳方法是什么?我应该专门使用嵌套循环还是采用其他方法?

首先,我已经阅读了Bash脚本中具有多个条件的循环问题,但不适用于我打算做的事情。在以下脚本中,第一个for循环分配f数量的...

bash for-loop multiple-conditions
2个回答
0
投票

您需要像这样嵌套它们(在示例中未进行嵌套)


0
投票

这里您有一种方法:

© www.soinside.com 2019 - 2024. All rights reserved.