我使用scala.sys.process
包从scala应用程序中将邮件命令发送到linux命令行:
val emailList = "foo@nonExistentEntity.com,bar@nonExistentEntity.com"
val emailFile = "/home/localUser/localFile.txt"
import scala.sys.process._
(("cat " + emailFile) #| ("mail -s EmailSubject " + emailList)) !
到目前为止一切顺利。但是,如果我想要一个包含邮件man文件的空格的电子邮件主题
-s主题 在命令行上指定主题...小心引用包含空格的主题。
当我尝试用引号包装主题并将其发送到邮件时:
val emailSubject = " \"A Spaceful Email Subject\" "
(("cat " + emailFile) #| ("mail -s" + emailSubject + emailList)) !
我收到错误:
" ...不平衡'"'
那么,如何使用scala.sys.process
?
提前感谢您的考虑和回应。
答案 0 :(得分:3)
使用scala.sys.process
时,您还可以使用Seq
打包可执行文件,其参数可以包含任意空格,换行符等。
考虑:
val emailSubject = "A Spaceful Email Subject"
(s"cat $emailFile" #| Seq("mail", "-s", emailSubject, emailList)).!
中查看此示例