使用 Scala 的 sys.process API 调用带有引号字符串的命令时遇到问题



从下面的控制台会话中可以看出,从 Scala 调用的相同命令产生的结果与在终端中运行时的结果不同。

~> scala
Welcome to Scala 2.12.6 (OpenJDK 64-Bit Server VM, Java 1.8.0_172).
Type in expressions for evaluation. Or try :help.
scala> import sys.process._
import sys.process._
scala> """emacsclient --eval '(+ 4 5)'""".!
*ERROR*: End of file during parsingres0: Int = 1
scala> :quit
~> emacsclient --eval '(+ 4 5)'
9

有没有人遇到过这个问题和/或知道解决方法?

我认为这可能是一个库错误,所以也打开了一个问题:https://github.com/scala/bug/issues/10897

似乎 Scala 的sys.processAPI 不支持引用。以下作品:Seq("emacsclient", "--eval", "(+ 4 5)").!.

最新更新