1
Aus irgendeinem Grund kann ich nicht auf die Array-Schlüssel mit dem Ausrufezeichen Syntax für den Zugriff auf:Zugriff auf bash Array-Schlüssel (mac)
declare -a sites
sites=(["fr"]="frederick" ["an"]="annapolis")
for i in "${!sites[@]}"
do
echo "key: $i "
done
Dieses Just echo "Schlüssel: 0"
Was bin Ich mache hier falsch?
Auch möchte ich den Wert hinzufügen.
So würde das unser Put sein:
Schlüssel: fr, Wert: frederick
das war, was ich zuerst versucht. Aber wenn ich das Skript, das Sie veröffentlicht haben, ausführen, bekomme ich diese Ausgabe: Zeile 3: deklarieren: -A: ungültige Option deklarieren: Verwendung: declare [-afFirtx] [-p] [Name [= Wert] ...] Schlüssel : 0, Wert: annapolis – jessh
Dies könnte auch hilfreich sein: bash --version GNU bash, version 3.2.48 (1) – jessh
Assoziative Arrays erfordern bash> = 4.0. Siehe http://tis.edu/php/chet/bash/NEWS. Und die Tatsache, dass Ihre man-Seiten für bash 3.2 nichts über assoziative Arrays sagen. ;-) – Mikel