2016-10-19 23 views

答えて

4

スクリプトは、現在の作業ディレクトリにある場合、これはトリックを行う必要がありますが(そうでない場合は、スクリプトのフルパスを指定します)

import sys.process._ 
val result = "./createPassword.sh" !! 

resultは、標準出力(標準誤差)を含む文字列です

EDIT:あなたは、Java SE7からProcessBuillderを使用したい場合は、あなたも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ありがとう –

+0

それは本当ですが、私はsys.processを使用していますし、ブロックしてはいけません。一旦結果が得られれば、それは処理されるべきです –

関連する問題