0
我將一些從Java執行shell命令的舊代碼移植到Scala。 Scala代碼使用'!!'來自scala.sys.process的方法。我遇到的問題是Scala代碼將shell命令的stdout傳遞給scala的stdout,我真的只希望程序使用println()將它告訴給我。考慮下面的代碼在Scala過程中忽略stdout
import scala.sys.process._
class FidoWrapper(file: java.io.File){
val fido = ("fido " + file.getAbsolutePath).!!
}
object Wrapper{
def main(args: Array[String]){
val wrapper = new FidoWrapper(new java.io.File("src/main/resources/testfile.txt"))
println("===")
println("result: " + wrapper.fido.split(",")(0))
}
}
我得到以下輸出:
FIDO v1.3.1 (formats-v70.xml, container-signature-20130501.xml, format_extensions.xml)
FIDO: Processed 1 files in 468.12 msec, 2 files/sec
===
result: OK
哪裏是什麼,我想擁有的是:
===
result: OK
這是我原來的Java代碼做了什麼。無論如何,我可以重定向從shell進程的標準輸出,使其不輸出?有什麼辦法可以讓這個過程沉默?
感謝
完美,謝謝。 – awfulHack