相关,但不重复:
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 shell在其范围内没有哈希.我也通过手动输入嵌套的bash shell并尝试以交互方式使用哈希来验证这一点.
将数组变量编码到环境中并没有什么好方法.看到
http://www.mail-archive.com/bug-bash@gnu.org/msg01774.html(Chet Ramey是bash的维护者)
http://www.mail-archive.com/bug-bash@gnu.org/msg01774.html(Chet Ramey是bash的维护者)