将Gstring传递给shell命令

时间:2013-11-25 13:59:22

标签: groovy

我想通过Groovy发送邮件。我尝试使用mac中的mail命令,并且工作正常。

这是我正在使用的命令:

echo $message | mail -s "subject" mail@mail.com

message是gstring:

def message = """ Hi 

 Test mail """

我面临的问题是;邮件传递时,message只是一行而不是存储的方式。

我犯了错误?

1 个答案:

答案 0 :(得分:1)

你可以这样做:

[ '/bin/bash', '-c', "echo '$msg' | mail -s 'subject' mail@mail.com" ].execute().waitFor()

ie:将msg包裹在引号'

显然,msg中的任何引号都需要转义,否则会失败。

更具弹性的选择是使用java邮件