
Ниже приведен код для печати содержимого файлов, имеющихся в каталоге. Содержимое файлов:
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 " [email protected]
для этого я получаю ниже вывод для переменной результата
apple
banana
grapes
mango
Однако когда я печатаю «$result» в письме, я получаю следующий вывод в тексте письма:
apple banana grapes mango
Я хочу отправлять имена по электронной почте с помощью нескольких строк, например:
apple
banana
grapes
mango
Как добиться того же?
решение1
Попробуйте сecho -e "The names are:\n" "$result"
Опция -e
допускает \n
интерпретацию знака новой строки; тогда переменная будет развернута правильно, имея собственные двойные кавычки.