Para imprimir valores em linhas diferentes no script shell do corpo do email

Para imprimir valores em linhas diferentes no script shell do corpo do email

Abaixo está o código para imprimir o conteúdo dos arquivos presentes no diretório O conteúdo do arquivo é:

apple 
banana 
grapes 
mango

nomes=()

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]

para isso estou obtendo a saída abaixo para a variável de resultado

apple 
banana 
grapes 
mango

No entanto, quando imprimo "$resultado" no email, recebo a saída abaixo no texto do email:

apple banana grapes mango

Quero enviar nomes por email com multilinhas assim:

apple 
banana 
grapes 
mango

Como conseguir o mesmo?

Responder1

Experimente comecho -e "The names are:\n" "$result"

A -eopção permite a \ninterpretação do sinal de nova linha; variável é então expandida corretamente, tendo suas próprias aspas duplas.

informação relacionada