Ich habe eine Variable, die eine durch Leerzeichen getrennte Zeichenfolge enthält:
line="1 1.50 string"
Ich möchte diese Zeichenfolge mit Leerzeichen als Trennzeichen teilen und das Ergebnis in einem Array speichern, so dass Folgendes:
echo ${arr[0]}
echo ${arr[1]}
echo ${arr[2]}
Ausgänge
1
1.50
string
Irgendwo habe ich eine Lösung gefunden, die nicht funktioniert:
arr=$(echo ${line})
Wenn ich danach die obigen Echoanweisungen ausführe, erhalte ich:
1 1.50 string
[empty line]
[empty line]
Ich habe es auch versucht
IFS=" "
arr=$(echo ${line})
mit dem gleichen Ergebnis. Kann mir bitte jemand helfen?
set -f; arr=($string); set +f
scheint schneller zu sein alsread -r -a <<< $string
.