收到错误mailx:非法选项-在bash脚本中添加附件时
Posted
技术标签:
【中文标题】收到错误mailx:非法选项-在bash脚本中添加附件时【英文标题】:getting error mailx: illegal option -- a while adding attachment in bash scripting 【发布时间】:2020-06-14 20:41:03 【问题描述】:echo "$MAIL_MSG"| mailx -a "$opfile" -s "$MAIL_SUBJ" "$DW_EMAIL_LIST"
上面的命令抛出错误mailx:非法选项--a。你能帮我解决一下吗?
【问题讨论】:
请提供一些额外的设置细节。比如什么操作系统,什么版本等等。 使用 shell 连接到服务器。 uname -a 操作:AIX mrma70p4 1 7 00F9F76C4C00 【参考方案1】:正确的命令是mail
而不是mailx
带附件的电子邮件示例:
$ echo "This is message body" | mail -s "This is Subject" -r "Harry<harry@gmail.com>" -a /path/to/file someone@example.com
【讨论】:
感谢您的意见。但它不起作用 - 同样的错误。 回显 $MAIL_MSG |上面的命令 mailx -s "$MAIL_SUBJ" $MAIL_LIST 工作正常,但在尝试添加附件时出现错误。【参考方案2】:https://unix.stackexchange.com/questions/115334/mail-command-to-send-attachements 是关于在 AIX 上发送带有附件的邮件的类似问题。它建议mime-construct
。如果这不可用,您也许可以使用mutt
。看mutt man page,好像语法很像:
echo "$MAIL_MSG" | mutt -x -s "$MAIL_SUBJ" -a "$opfile" -- "$DW_EMAIL_LIST"
以下是选项的摘要:
-x
是 mailx 兼容的撰写模式
-s
是主题
-a
是附件
--
将附件与收件人分开
注意-a
必须是最后一个选项:
-a file [...] 使用 MIME 将文件附加到您的邮件中。附加单个或多个文件时,分隔文件名和收件人地址 带“--”是强制性的,例如mutt -a image.jpg -- addr1 或 mutt -a img.jpg *.png -- addr1 addr2. -a 选项必须放在最后 命令行选项。
【讨论】:
以上是关于收到错误mailx:非法选项-在bash脚本中添加附件时的主要内容,如果未能解决你的问题,请参考以下文章
错误 - 在Windows 7中使用“Git Bash Here”时,“文件扩展名.vbs没有脚本引擎”
在我的跑步者类中将标签作为黄瓜选项提供时出现“java.lang.String”错误的非法初始化程序