Gibt es eine Möglichkeit, etwas wie PHPs $array[] = 'foo';
in Bash vs tun:
array[0] = 'foo'
array[1] = 'bar'
Ja, die gibt es:
ARRAY=()
ARRAY+=('foo')
ARRAY+=('bar')
In dem Kontext, in dem eine Zuweisungsanweisung einer Shell-Variablen oder einem Array-Index einen Wert zuweist (siehe Arrays), kann der '+='-Operator verwendet werden, um an den vorherigen Wert der Variablen anzuhängen oder ihn zu ergänzen.
$ declare -a arr
$ arr=("a")
$ arr=("${arr[@]}" "new")
$ echo ${arr[@]}
a new
$ arr=("${arr[@]}" "newest")
$ echo ${arr[@]}
a new newest
Wenn Ihr Array immer sequentiell ist und bei 0 beginnt, können Sie dies tun:
array[${#array[@]}]='foo'
# gets the length of the array
${#array_name[@]}
Wenn Sie versehentlich Leerzeichen zwischen dem Gleichheitszeichen verwenden:
array[${#array[@]}] = 'foo'
Dann erhalten Sie eine Fehlermeldung ähnlich der folgenden:
array_name[3]: command not found