
Ich verwende ein assoziatives Array auf meinen RHEL 6-Servern und habe das Skript gerade auf einem RHEL 5-Server getestet. Offenbar wird -A für den Befehl „declare“ auf RHEL 5 nicht unterstützt:
declare -A var
-bash: declare: -A: invalid option
declare: usage: declare [-afFirtx] [-p] [name[=value] ...
Gibt es dafür eine Lösung? Gibt es eine Möglichkeit, nur den Declare-Befehl oder nur die Bash-Shell auf die von RHEL 6 verwendete zu aktualisieren?
Bash-Versionen sind: rhel5 – bash-3.2-24.el5 rhel6 – bash-4.1.2-9.el6_2.x86_64
Antwort1
Assoziative Arrays wurden in der Bash-Version eingeführt4.
Da die Option-Awird nicht erkannt. Das bedeutet, dass Sie die native Bash von Rhel 5 verwenden.
Sie müssen kompilieren / erstellenSchlag 4aus der Quelle, um assoziative Arrays zu verwenden.