[英]Defining an array from concatenated variables in bash
Outside of the code I posted below I defined an array fanrp0[1] and fanrp0[2] I did the same for fans 0 through 3. I'm trying to make fstat change and echo each of the fans in two arrays. 在下面发布的代码之外,我定义了一个数组fanrp0 [1]和fanrp0 [2]我对风扇0到3进行了相同的操作。我试图更改fstat并回显两个数组中的每个风扇。
for (( f=1; f<=2; f++ ))
do
for (( f2=0; f2<=3; f2++ ))
do
fstat="${(fanrp$f2)[$f]}"
echo $fstat
done
done
If fanrp0
, fanrp1
, fanrp2
, and fanrp3
are all arrays, you can write your loops as 如果fanrp0
, fanrp1
, fanrp2
和fanrp3
都是数组,则可以将循环编写为
for (( f=1; f<=2; f++ ))
do
for (( f2=0; f2<=3; f2++ ))
do
x="fanrp$f2[$f]"
fstat="${!x}"
echo $fstat
done
done
Since f2
is used only to generate the array names, a slightly cleaner syntax would be 由于f2
仅用于生成数组名称,因此语法会稍微简洁一些
for f in {1..2}; do
for arr in fanrp{0..3}; do
x="$arr[$f]"
fstat=${!x}
echo $fstat
done
done
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.