为什么在 bash for 循环中使用 seq 0
Why use seq 0 in bash for loop
为什么在 bash for 循环中使用 seq 0?
for i in `seq 0 $(( ${#ARRAYEX[@]} - 1 ))`
do
echo "ARRAYEX${i}=${ARRAYEX[${i}]}"
done
seq 0 $(( ${#ARRAYEX[@]} - 1 ))
创建数组所有可能索引的序列。您也可以使用
for ((i=0; i<${#ARRAYEX[@]}; ++i )) ; do
seq
命令生成一个数字序列。
例如
seq 0 10
生成从 0 到 10 的数字序列:
0 1 2 3 4 5 6 7 8 9 10
(通常每个数字换行,但我把它们放在一起)
在您的示例中,生成了一个从 0 开始到数组大小减 1 的数字序列。
seq 0 $(( ${#ARRAYEX[@]} - 1 ))
部分扩展为:
0 1 2 3 4
假设 ARRAYEX 的大小为 5。
在循环内部再次使用数组,因此循环遍历所有数组元素(因为数组的第一个元素从 0 开始)。
为什么在 bash for 循环中使用 seq 0?
for i in `seq 0 $(( ${#ARRAYEX[@]} - 1 ))`
do
echo "ARRAYEX${i}=${ARRAYEX[${i}]}"
done
seq 0 $(( ${#ARRAYEX[@]} - 1 ))
创建数组所有可能索引的序列。您也可以使用
for ((i=0; i<${#ARRAYEX[@]}; ++i )) ; do
seq
命令生成一个数字序列。
例如
seq 0 10
生成从 0 到 10 的数字序列:
0 1 2 3 4 5 6 7 8 9 10
(通常每个数字换行,但我把它们放在一起)
在您的示例中,生成了一个从 0 开始到数组大小减 1 的数字序列。
seq 0 $(( ${#ARRAYEX[@]} - 1 ))
部分扩展为:
0 1 2 3 4
假设 ARRAYEX 的大小为 5。
在循环内部再次使用数组,因此循环遍历所有数组元素(因为数组的第一个元素从 0 开始)。