从下面的控制台会话中可以看出,从 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.process
API 不支持引用。以下作品:Seq("emacsclient", "--eval", "(+ 4 5)").!
.