0
我可以在Linux Shell中嵌套關聯映射嗎?Linux Shell中的嵌套HashMaps?
我可以在Linux Shell中嵌套關聯映射嗎?Linux Shell中的嵌套HashMaps?
是的!
看看man bash
!
(搜索關聯)
但是,如果你想分配陣列陣列,你要爲自己申報的子對象,白衣自己的處理程序,比你可將本處理器作爲一個字符串上陣列:
declare -A x
declare -A x_foo
x_foo=([a]=1 [b]=3)
x['foo']=x_foo;
所以
echo ${!x[@]}
foo
echo ${x[foo]}
x_foo
eval echo \${${x[foo]}[a]}
1
eval echo \${${x[foo]}[b]}
3
eval echo \${!${x[foo]}[@]}
a b
eval echo \${${x[foo]}[@]}
1 3
否時,bash陣列僅是一維的。你應該能夠構造你的數組鍵來僞造多維度。例如,如果你想要的JSON對象
x = {'foo': {'a': 1, 'b': 2}, 'bar': {'c': 3, 'd', 4}}
在bash
,你將不得不做一些像
declare -A x
x[foo,a]=1
x[foo,b]=2
x[bar,c]=3
x[bar,d]=4
,並參照,例如
i=foo
j=b
echo "${x[$i,$j]}"