Bash Arrays foreach as key => value
In einem älteren Beitrag mit dem Namen Einige Codeschnipsel für Bash Arrays hatte ich bereits einige Grundlagen für Bash Arrays gepostet.
Was fehlte und in vielen anderen Script- und Programmiersprachen vorhanden ist, ist ein foreach Loop bei dem ein assoziatives Array mit Key und Value durchgegangen wird. In PHP sieht es z.B. so aus:
<?php
$array['key1'] = 'value1';
$array['key2'] = 'value2';
foreach ($array as $key => $value) {
echo "Key = $key";
echo "Value = $value";
}
In Bash erreicht man das selbe Ergebnis auf einem Umweg:
#!/bin/bash
declare -A array
array[key1]='value1'
array[key2]='value2'
for key in ${!array[@]}; do
echo "Key = $key"
echo "Value = ${backup[$key]}"
done
Man kann das Array auch anders definieren.
PHP:
<?php
$array = array ('key1' => 'value1','key2' => 'value2');
foreach ($array as $key => $value) {
echo "Key = $key";
echo "Value = $value";
}
Bash:
#!/bin/bash
declare -A array
array=([key1]='value1' [key2]='value2')
for key in ${!array[@]}; do
echo "Key = $key"
echo "Value = ${backup[$key]}"
done