В ваших данных есть символы возврата каретки. Отфильтруйте их:
curl ... | tr -d '\r'
Кроме того, заключите переменную в кавычки, когда вы ее повторяете:
$ echo "$xml"
Или даже лучше:
$ printf '%s\n' "$xml"
Цитирование предотвращает разделение слов. Разделение слов происходит для всех переменных без кавычек в командной строке и включает разделение их строки на слова на основе значения $ IFS
. $ IFS
по умолчанию - это символ табуляции, пробел и символ новой строки.
См. Разделы «Разделение слов» или «Разделение полей» в руководстве по вашей оболочке.