注意:我使用 tcsh。
我正在尝试创建一个别名,该别名将使用 mutt 命令发送带有预先编写的正文和主题行的电子邮件,但这将采用别名参数并将其附加到电子邮件中。我目前拥有的最好的是:
alias emailattach 'echo "Message Body" | mutt -a \!:1 -s "Subject" [email protected]'
这个别名设置得很好,没有任何抱怨,但是当我尝试运行它时,我收到以下消息:
Can't stat [email protected]: No such file or directory
[email protected]: unable to attach file.
当我删除时,-a \!:1
我不再收到错误消息,因此我相信问题可能集中在别名的这一部分上。我告诉附加的文件emailattach
是真实的、可附加的文件(特别是 PDF),所以这不是问题。
我也尝试了相同的别名,但没有单引号,我只收到此错误:
[email protected]: unable to attach file.
为了查看管道是否是问题的症结所在,我尝试了以下操作:
alias emailattach mutt -a \!:1 -s "Subject" [email protected]
然后尝试运行:
echo "Message Body" | emailattach /path/to/attachment
它给出了与我首先列出的相同的错误消息(can't stat
... unable to attach file.
)。然而,当我刚跑的时候:
echo "Message Body" | emailattach
我收到这个错误:
Bad ! arg selector.
我认为这只是一个错误,表示我忘记输入所需的参数。
我在别名中写错了什么导致它不起作用?
答案1
尝试改变你的alias
周围,使附件出现在你的通话中的最后,mutt
如下所示:
$ alias emailattach 'echo "Message Body" | mutt -s "Subject" [email protected] -a \!:1'
这样做对我来说很有效。