给定一个包含两个元素的数组,
array=("foo bar" baz)
使用for..in
“正常”语法的循环会产生三个迭代(数组的元素被扩展)。
for element in ${array[@]}
do echo $element
done
输出:
foo
bar
baz
虽然for..in
具有“索引”语法的循环按预期工作(元素未扩展)。
for i in ${!array[@]}
do echo ${array[i]}
done
输出:
foo bar
baz
有什么方法可以按照我的意图使用第一个语法结构(即获得与使用第二个结构相同的结果)?
GNU bash, version 4.1.2(1)-release