我希望在我的bash shell脚本中通过数组循环时访问数组索引变量。
myscript.sh
#!/bin/bash
AR=('foo' 'bar' 'baz' 'bat')
for i in ${AR[*]}; do
echo $i
done
上述脚本的结果是:
foo
bar
baz
bat
我寻求的结果是:
0
1
2
3
如何更改脚本以实现此目的?
答案 0 :(得分:2)
您可以使用间接引用语法(since Bash 3)循环索引:
#!/bin/bash
AR=('foo' 'bar' 'baz' 'bat')
for i in ${!AR[*]}; do # replace ${AR[*]} with ${!AR[*]}
echo $i
done