Cshell Mutt使用字符串发送电子邮件

Cshell Mutt使用字符串发送电子邮件,shell,unix,csh,mutt,Shell,Unix,Csh,Mutt,我在Centos 5.5上使用了.csh脚本-是:)-与Mutt(v1.5)一起使用 好吧,我可以发送一封电子邮件,没有这样的问题: echo "" | mutt -s 'Subject' -i /tmp/body.txt 'test@test.com' 现在我想把上面的参数保存在一个变量中,然后用它的内容调用mutt 变量最后包含以下内容: -s'Subject'-i/tmp/body.txt'test@test.com“ 问题不是如何“提取”该字符串以执行上述命令 我试过: se

我在Centos 5.5上使用了.csh脚本-是:)-与Mutt(v1.5)一起使用

好吧,我可以发送一封电子邮件,没有这样的问题:

echo "" | mutt  -s 'Subject' -i /tmp/body.txt 'test@test.com'
现在我想把上面的参数保存在一个变量中,然后用它的内容调用mutt

变量最后包含以下内容:

-s'Subject'-i/tmp/body.txt'test@test.com“

问题不是如何“提取”该字符串以执行上述命令

我试过:

    set MailString="-s 'Subject' -i /tmp/body.txt 'test@test.com'"

    # (Tried these, don't work)
    #echo "" | mutt `echo "$MailString"`
    #echo "" | mutt `echo $MailString`
    #echo "" | mutt echo $MailString`
    #echo "" | mutt $MailString`
csh

希望这将有助于:

#!/bin/csh -f
set MailString="-s 'Subject' -i /tmp/body.txt test@test.com"
mutt ${MailString} 
${}
中编写MailString,它应该适合您

如果您希望它更灵活:

您可以对不同的字段使用参数:

#!/bin/csh -f

set attach_file='file.txt'
set subject='My subject'
set text_file='/tmp/body.txt'

set MailString="-a ${attach_file} -s ${subject} -i ${text_file}  test@test.com"

mutt ${MailString} 

您可以使用
$1
$2
等将脚本的参数推送到不同的字段。

为什么使用csh?你能改写成ksh吗?我只是在找这一行。如果我没有弄明白,我会在mutt之后直接应用它(虽然不是很漂亮,但会起作用),这是一个常见的bash问题(),但我已经20多年没有使用csh了。“csh被认为是有害的”这篇文章太有意义了,不容忽视;)我用了echo“| mutt${MailString}就像你说的那样。给我:命令行中的错误:无效的标题字段。发送消息时出错,子项退出67(用户未知)……当我直接从控制台复制命令并手动使用mutt时,它工作了。为什么在脚本中使用
echo
-如果我在.csh文件中直接使用mutt(不加前缀echo“”|),然后从putty调用该csh文件,我会将该文件作为文本转储到您的邮件中。这就像在putty->中键入“mutt”,直接将我带入mutt程序(界面)。my prog://i.imgur.com/opUWKNA.png