Создание массива в Bash с цитируемыми записями из вывода команды
У меня проблемы с формированием массива bash из стандартного вывода. Я свел это к этому минимальному примеру:
~$ a=($(echo '1 2 3 "foo bar"'))
~$ echo ${a[0]}
1
~$ echo ${a[1]}
2
~$ echo ${a[2]}
3
~$ echo ${a[3]}
"foo
~$ echo ${a[4]}
bar"
Я верю, что происходит то, что происходит"foo
а такжеbar"
считаются отдельными элементами в стандартном выводе, но цель состоит в том, чтобы объединить эти элементы в один для массива.
Очевидно, я мог бы написать небольшой цикл, чтобы объединить эти термины в один, но мне интересно, есть ли более элегантное решение?
РЕДАКТИРОВАТЬ: Что идет вместоecho '1 2 3 "foo bar"'
в моем коде довольно запутанный, но дело в том, чтоМне нужно сформировать массив из какого-то неизвестного стандартного вывода этой формы.