I want to execute the sh
file from Scala application.
Let's say I have createPassword.sh
file and I need to invoke this sh
file from Scala application and get the output back.
How can I achieve through scala application?
I want to execute the sh
file from Scala application.
Let's say I have createPassword.sh
file and I need to invoke this sh
file from Scala application and get the output back.
How can I achieve through scala application?
This should do the trick if the script is in the current working directory (otherwise specify the full path of the script)
import sys.process._
val result = "./createPassword.sh" !!
result
is then a String containing the standard output (and standard error)
EDIT: If you want to use ProcessBuillder
from Java SE7, you can also use this in 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)
}
Given your dir has a script,
`val path = "./src/test/tests/Integration/"`
`val output = Process("sh test.sh", new File("path")).!!`