Вывести значения в другую строку в скрипте оболочки письма
Ниже приведен код для печати содержимого файлов, представленных в каталоге. Содержимое файла:
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
интерпретация; переменная затем раскрывается правильно, имея свои собственные двойные кавычки.