У меня есть переменная, которая содержит разделенную пробелами строку:
line="1 1.50 string"
Я хочу разделить эту строку пробелом в качестве разделителя и сохранить результат в массиве, так что следующее:
echo ${arr[0]}
echo ${arr[1]}
echo ${arr[2]}
выходы
1
1.50
string
Где-то я нашел решение, которое не работает:
arr=$(echo ${line})
Если после этого я выполню приведенные выше операторы echo, я получу:
1 1.50 string
[empty line]
[empty line]
Я тоже пробовал
IFS=" "
arr=$(echo ${line})
с тем же результатом. Может кто-нибудь помочь, пожалуйста?
set -f; arr=($string); set +f
кажется быстрее чемread -r -a <<< $string
.