Для создаваемого мной сценария мне нужно преобразовать вывод команды в массив. Для упрощения я привел пример с использованием echo:
arr=( $(echo '"test example" "test2 example"') )
Я хочу, чтобы первый элемент массива был
test example
, но при этом:
echo ${arr[0]}
я получаю
"test
Что мне нужно сделать, чтобы получить результат Я хочу?
Предположим, что echo не выдает правильный вывод, как команда, поэтому необходимо включить sed
mapfile -t arr < <(
echo '"test example1" "test2 example2"' |
sed 's/" "/"\n"/g'
)
eval "arr=( $(echo '"test example" "test2 example"') )"
echo "${arr[0]}"
for e in "${arr[@]}"; do
echo "<$e>"
done
test example
<test example>
<test2 example>