shell中使用mail发邮件的时候正文换行的问题

tonyibm 2010-03-14 07:03:14
我在shell中使用mail来发邮件的时候,在正文中要写入多行数据,下面是部分代码,但是收到邮件后,发现第二行没有顶格写,不知道是什么原因,

filename1=$(ls /pt88/pt845/interface/ist88prd/bhgl/IDD-WWCN-FINGL0015.PEOPLESOFT3.*.TXT)
sendoutmessage="Successfully uploaded ${filename1} to ${FTPSERVER}"
sendouttime=$(date '+%Y-%m-%d %H:%M:%S')
echo "${sendouttime}
${sendoutmessage}" | mail -s "GL report for ISTC had been uploaded to BH successfully" tonyhf@cn.ibm.com
...全文
1130 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
tonyibm 2010-03-14
  • 打赏
  • 举报
回复
问题解决了,

echo "${sendouttime}\n\n${sendoutmessage}" | mail -s "GL report for ISTC had been uploaded to BH successfully" tonyhf@cn.ibm.com

中间隔了一个空行,
steptodream 2010-03-14
  • 打赏
  • 举报
回复
linux里面显示出来的东西 很多时候都是自动给对齐了的
我让你输入到文件里 你试了没有
再说了 如果是一行没显示完 刚好后面有个空格 显示到第二行开头了 也有可能

sendoutmessage="Successfully uploaded ${filename1} to ${FTPSERVER}"
比如这一句 要是 ${filename1} 有几十个 一行能显示下吗??
tonyibm 2010-03-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 steptodream 的回复:]
估计是你内容里有空格吧
你先把内容定向到文件里echo "${sendouttime} ${sendoutmessage}" >> test.mail
然后看看test.mail第二行也没顶格
[/Quote]

我单独将我上面的代码拿到命令行里面运行,没有问题,不知道为啥发到邮件,就没有顶格了,

在shell里面如果要输了多行,是不是写在不同的行,输出的就是在不同的行,还是有换行符的,
steptodream 2010-03-14
  • 打赏
  • 举报
回复
估计是你内容里有空格吧
你先把内容定向到文件里echo "${sendouttime} ${sendoutmessage}" >> test.mail
然后看看test.mail第二行也没顶格

23,120

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧