関連していますが、重複していません: How to define hash tables in Bash?
bash ハッシュを定義して使用できますが、-x フラグを使用してもエクスポートできません。たとえば、次の例では、通常の文字列変数をエクスポート (およびエクスポートのテスト) します。
aschirma@graphics9-lnx:/$ export animal_cow="moo"
aschirma@graphics9-lnx:/$ bash -c "echo \$animal_cow"
moo
aschirma@graphics9-lnx:/$
ただし、ハッシュをエクスポートしようとすると:
aschirma@graphics9-lnx:/$ declare -A -x animals
aschirma@graphics9-lnx:/$ animals[duck]="quack"
aschirma@graphics9-lnx:/$ echo ${animals[duck]}
quack
aschirma@graphics9-lnx:/$ bash -c "echo \${animals[duck]}"
aschirma@graphics9-lnx:/$
ネストされた bash シェルのスコープにハッシュがないようです。ネストされた bash シェルに手動で入力し、ハッシュを対話的に使用することによっても、これを確認しました。