背景:
今天给ssh添加邮件提醒的时候遇到了手动执行命令发送邮件, 接收到的邮件的内容是正常格式现实的,但是每次登陆所发的提醒邮件,正文部分时空的,但是内容全部被添加到了附件中.因为之前的提醒内容全部是英文是没有问题的,但是自从添加了登陆的ip归属地的分析之后就变成这个样子了,所有经过初步分析是由于中文导致的.
解决办法:
经过百度,发现有人遇到了使用crontab 来调用发送邮件的脚本时遇到了这个问题,.
问题原因:
格式问题,也就是dutu.txt文件是不是window下的结束符,如果是请修改成linux下的. Linux文本文件用"\n"(0a)表示回车换行,而Windows用"\r\n"(0d 0a)表示回车换行
bash运行时系统编码环境不通导致。查看系统编码环境.
在shell脚本的头部位添加:
#!/bin/bash export LANG=en_US.UTF-8
通过分析,我是由于第二种问题引起的,所以shell脚本的头部加了
export LANG=en_US.UTF-8
就正常使用了.
还没有评论,来说两句吧...