下面是打印目录中文件内容的代码,文件内容如下:
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
解释;变量通过使用其自己的双引号被正确扩展。