在邮件正文的不同行中打印值 shell 脚本

在邮件正文的不同行中打印值 shell 脚本

下面是打印目录中文件内容的代码,文件内容如下:

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解释;变量通过使用其自己的双引号被正确扩展。

相关内容