我在 RHEL 6 服务器上使用关联数组,并且刚刚在 RHEL 5 服务器上测试了脚本,显然 RHEL 5 上的 declared 命令不支持 -A:
declare -A var
-bash: declare: -A: invalid option
declare: usage: declare [-afFirtx] [-p] [name[=value] ...
有什么办法可以解决这个问题吗?有什么方法可以让我仅更新 declared 命令或仅将 bash shell 更新为 RHEL 6 正在使用的命令吗?
bash 版本为:rhel5 - bash-3.2-24.el5 rhel6 - bash-4.1.2-9.el6_2.x86_64
答案1
关联数组是在 bash 版本中引入的4。
由于选择-A无法识别,这意味着您正在使用 rhel 5 原生 bash。
你必须编译/构建重击4从源头来使用关联数组。