3
scalaアプリケーションからshファイルを実行したい、 createPassword.shファイルがあり、scalaアプリケーションからこのshファイルを呼び出して出力を取得する必要があります。スカラアプリケーションからシェルスクリプトを実行
スカラーアプリケーションではどうすれば実現できますか?
scalaアプリケーションからshファイルを実行したい、 createPassword.shファイルがあり、scalaアプリケーションからこのshファイルを呼び出して出力を取得する必要があります。スカラアプリケーションからシェルスクリプトを実行
スカラーアプリケーションではどうすれば実現できますか?
スクリプトは、現在の作業ディレクトリにある場合、これはトリックを行う必要がありますが(そうでない場合は、スクリプトのフルパスを指定します)
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)
}
はおそらく「'でなければなりません./creat ePassword.sh "!! –
@TzachZoharありがとう –
それは本当ですが、私はsys.processを使用していますし、ブロックしてはいけません。一旦結果が得られれば、それは処理されるべきです –