相关但不重复:如何在 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 shell 在其范围内没有散列。我也通过手动输入嵌套的 bash shell 并尝试以交互方式使用哈希来验证这一点。