【发布时间】:2012-08-15 10:19:06
【问题描述】:
我正在尝试使用 Scala 内部的外部程序,该程序接受来自标准输入流的输入。
代码大致相当于以下在 Linux 上运行,但在 Windows 上运行时引发异常(在 Windows 7 上测试)。异常的描述表明找不到 echo 命令。
def invokeProgram(data : String) {
import scala.sys.process._
val cmdEcho = Seq("echo", data)
val cmdProgram = Seq("program")
println((cmdEcho #| cmdProgram).!!)
}
代码在 Linux 上可以正常工作,但在 Windows 上失败,但是 echo 命令对两个平台都很常见,并且它的用法在语法上对于我的目的是相同的。这就像 echo 不在 PATH 中一样简单吗? Windows 上什至有单独的 echo.exe 还是捆绑到其他东西中?可以使调用的程序从临时文件中接受其输入,如果我无法解决此问题,我将使用该文件。
【问题讨论】:
标签: shell scala windows-7 cross-platform dos