
我在 RHEL 6 伺服器上使用關聯數組,並且剛剛在 RHEL 5 伺服器上測試了腳本,顯然 RHEL 5 上的聲明命令不支援 -A:
declare -A var
-bash: declare: -A: invalid option
declare: usage: declare [-afFirtx] [-p] [name[=value] ...
有解決辦法嗎?有沒有辦法讓我只更新聲明指令或只更新 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從原始程式碼中取得關聯數組。