これにより、連想配列全体がコンソールに出力されます。
#!/bin/sh
declare -a array=([key1]='value1' [key2]='value2')
for key in ${!array[@]}; do
echo "Key = $key"
echo "Value = ${array[$key]}"
done
echo ${array[key1]}
echo ${array[key2]}
代わりに、最後の変数のみを出力します。
[mles@sagnix etl-i_test]$ ./test.sh
Key = 0
Value = value2
value2
value2
私のせいはどこですか?
@htor : Bash バージョンは 3.2.25(1) リリースです。