Создание массива в 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"' в моем коде довольно запутанный, но дело в том, чтоМне нужно сформировать массив из какого-то неизвестного стандартного вывода этой формы.

Ответы на вопрос(0)

Ваш ответ на вопрос