比方說,我有一個命令,我需要從斯卡拉運行:如何重定向輸出*和*使用Scala Process/ProcessBuilder設置CWD和ENV?
program -i inputFile
我可以調用這個使用捕捉文件中的輸出在斯卡拉:
val command = Seq("program", "-i", "inputFile")
val status = (command #> new File("capturedOutput")).!
但我需要設置環境和當前工作目錄。 這工作:
val env = "KEY" -> "value"
val dir = new File("desiredWorkingDir")
val status = Process(command, dir, env).!
,但我不知道如何把它放在一起,那就是,在某個目錄設置ENV在我的環境,運行程序,和捕獲輸出到文件。我怎麼做?
謝謝。這大多工作。我說主要是因爲捕獲的輸出是4415488字節,應該是4424370.就好像輸出緩衝區的最終刷新從未發生過。我檢查了'val status:Int = runningCommand.exitValue()'後返回0。 – gknauth