在shell脚本中,我在if
循环中有一个for
条件的循环。
for ((init; condition; increment))
do
if ((condition)) then
printf ...
fi
done
printf
语句在输出上打印值。但是,我想将这些值存储在一个数组中以在另一个循环中使用。我该怎么做?
答案 0 :(得分:0)
您在for loop
之前初始化数组,在for loop
内部继续初始化数组。
代码框架:
# initializing an array
arr=()
for ((i=0; i<=5; i++ )) do if ((...)) then arr+=($i); printf .... fi done
arr=()
创建一个新数组arr+=($i)
将元素追加/添加到数组arr
答案 1 :(得分:0)
以下是解决方案:
#!/bin/bash
data=() #declare an array outside the scope of loop
idx=0 #initialize a counter to zero
for i in {53..99} #some random number range
do
data[idx]=`printf "number=%s\n" $i` #store data in array
idx=$((idx+1)) #increment the counter
done
echo ${data[*]} #your result
代码