Вывести значения в другую строку в скрипте оболочки письма

Ниже приведен код для печати содержимого файлов, представленных в каталоге. Содержимое файла:

apple 
banana 
grapes 
mango

имена =()

FILES=/path_to_dir/*
for f in $FILES
do
   names+=($f)
done
result="$(cat ${names[@]})"
echo "$result"

echo "The  names are "$result"" | mailx -s "names are " abc@gmail.com

для этого я получаю ниже вывод для переменной результата

apple 
banana 
grapes 
mango

Однако, когда я печатаю "$result" в письме, я получаю вывод ниже в тексте письма:

apple banana grapes mango

Я хочу отправить имена по электронной почте с многострочным, как это:

apple 
banana 
grapes 
mango

Как добиться того же?

1 ответ

Решение

Попробуй с echo -e "The names are:\n" "$result"

-e опция позволяет знак новой строки \n интерпретация; переменная затем раскрывается правильно, имея свои собственные двойные кавычки.

Другие вопросы по тегам