gpt4 book ai didi

linux - 为 scala.sys.process 进程提供引用参数

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:08:01 24 4
gpt4 key购买 nike

我正在使用 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)) !

到目前为止一切顺利。但是,如果我想要一个包含空格的电子邮件主题,邮件人文件说明

-s subject Specify subject on command line ... be careful to quote subjects containing spaces.

当我尝试用引号括起我的主题并将其发送到邮件时:

val emailSubject = " \"A Spaceful Email Subject\" "

(("cat " + emailFile) #| ("mail -s" + emailSubject + emailList)) !

我得到一个错误:

ect"... Unbalanced '"'

那么,如何使用 scala.sys.process 向进程提供引用参数?

提前感谢您的考虑和回复。

最佳答案

当使用 scala.sys.process 时,您还可以使用 Seq 打包一个可执行文件,其参数可以包含任意空格、换行符等。

考虑:

val emailSubject = "A Spaceful Email Subject"

(s"cat $emailFile" #| Seq("mail", "-s", emailSubject, emailList)).!

您还可以在 Scala 2.11.7 scaladocs 中看到这方面的示例

关于linux - 为 scala.sys.process 进程提供引用参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34363258/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com