如何在bash中按名称索引数组

时间:2015-05-08 05:24:52

标签: arrays bash

我在下面有这样的bash代码,我只是想知道如何通过它的名字找到一个数组:

#!/bin/bash

arr=("object1" "object2")

name="arr"

array=${!name}
echo object0 = ${array[0]}
echo object1 = ${array[1]}

以下输出:

object0 = object1
object1 =

我想知道为什么我不能索引第二个元素,我该怎么做!!!

1 个答案:

答案 0 :(得分:3)

使用以下语法:

gmp_strval(gmp_pow('2', 3)); //return 8
gmp_strval(gmp_pow('2.0', 3)); //return 0

你的其他代码没问题。

或者如果您将此作为变量传递,name="arr[@]" array=("${!name}")

你总是可以使用这个黑客:

name="arr"