3
我想從scala應用程序執行sh文件, 可以說我有createPassword.sh文件,我需要從scala應用程序調用此sh文件並獲取輸出。從scala應用程序執行shell腳本
我如何通過scala應用程序來實現?
我想從scala應用程序執行sh文件, 可以說我有createPassword.sh文件,我需要從scala應用程序調用此sh文件並獲取輸出。從scala應用程序執行shell腳本
我如何通過scala應用程序來實現?
這應該做的伎倆,如果腳本是在當前工作目錄(另行指定腳本的完整路徑)
import sys.process._
val result = "./createPassword.sh" !!
result
然後含標準輸出字符串(和標準錯誤)
編輯:如果你想使用ProcessBuillder
從Java SE7,你也可以在Scala中使用:
import java.io.{BufferedReader, InputStreamReader}
val p = new ProcessBuilder("/bin/bash","createPassword.sh")
val p2 = p.start()
val br = new BufferedReader(new InputStreamReader(p2.getInputStream()))
var line:String = ""
while ({line = br.readLine(); line!= null}) {
println(line)
}
也許應該是「」 ./creat ePassword.sh「!!' –
@TzachZohar thanks –
這是真的,但我neeed使用sys.process並且它不應該阻塞,一旦結果可用,它應該被處理 –