2

変数としていくつかの異なる連想配列があります。

declare -A FIRST=( [hello]=world [foo]=bar )
declare -A SECOND=( [bonjour]=monde [fu]=ba )

私ができるようにしたいのは、3番目の変数を取り、それを次のようにどちらかに割り当てることです:

usethisarray=$FIRST

または多分

declare -a usethisarray=$FIRST

しかし、どちらも実際には機能しません。必要な連想配列を指す間接的なレベルを取得できますか?

4

5 に答える 5

5

bash には変数の間接化がありますが、使用するのはちょっと面倒です:

$ declare -A FIRST=( [hello]=world [foo]=bar )
$ alias=FIRST
$ echo "${!alias[foo]}"

$ item=${alias}[foo]
$ echo ${!item}
bar
于 2013-06-14T00:19:19.737 に答える
0

これがあなたの言いたいことだと思います:

[ボブ イン ~] ARRAY=(ワン ツー スリー)

[bob in ~] echo ${ARRAY[*]} one two three

[ボブ イン ~] echo $ARRAY[ ] one[ ]

[ボブ イン ~] echo ${ARRAY[2]} 3

[〜のボブ] ARRAY[3]=4

[bob in ~] echo ${ARRAY[*]} one two three four

以下参照:

詳細については、次のリンクを参照してください: http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_10_02.html

于 2013-06-13T23:57:17.007 に答える