2016-10-19 39 views

回答

4

這應該做的伎倆,如果腳本是在當前工作目錄(另行指定腳本的完整路徑)

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) 
    } 
+0

也許應該是「」 ./creat ePassword.sh「!!' –

+0

@TzachZohar thanks –

+0

這是真的,但我neeed使用sys.process並且它不應該阻塞,一旦結果可用,它應該被處理 –