【发布时间】:2016-08-16 18:59:17
【问题描述】:
我想在我的 bash shell 脚本中循环遍历数组时访问数组索引变量。
我的脚本.sh#!/bin/bash
A=('foo' 'bar' 'baz' 'bat')
for i in ${A[*]}; do
echo $i
done
实际结果
foo
bar
baz
bat
期望的结果
0
1
2
3
如何更改我的脚本以实现此目的?
【问题讨论】:
我想在我的 bash shell 脚本中循环遍历数组时访问数组索引变量。
我的脚本.sh#!/bin/bash
A=('foo' 'bar' 'baz' 'bat')
for i in ${A[*]}; do
echo $i
done
实际结果
foo
bar
baz
bat
期望的结果
0
1
2
3
如何更改我的脚本以实现此目的?
【问题讨论】:
您可以使用间接引用语法 (since Bash 3) 循环索引:
#!/bin/bash
A=('foo' 'bar' 'baz' 'bat')
for i in ${!A[*]}; do # replace ${A[*]} with ${!A[*]}
echo $i
done
【讨论】: