Ich möchte ein assoziatives Array zwischen verschiedenen Skriptläufen auswendig lernen. Was ich bisher habe, ist die gegebene Textdatei, die ein Schlüssel / Wert-Paar enthält:
(
[james]=bond
)
Ist ein Skript, um das in ein assoziatives Array zu laden, es hinzuzufügen und es dann auf eine Weise wiederzugeben, die in eine zweite Datei umgeleitet werden kann:
#!/bin/bash
file=`cat $1`
key=$2
value=$3
declare -A row="$file"
row[$key]=$value
echo "("
for server in "${!row[@]}"
do echo "[$server]=${row[$server]}"; done
echo ")"
dann kann ich es ausführen als:
./arrays.sh file1 honey rider > file2 ; mv file2 file1
Geben
(
[james]=bond
[honey]=rider
)
Dennoch scheint es sehr klobig. Gibt es einen saubereren Weg, dies zu tun?
arrays.bash
...
declare -p hash > file
um dashash
assoziative Array zu speichern .source file
etwas wiederherstellen.