如何使用Scala 2.11执行BASH'source'命令?
import scala.sys.process.Process
object putFileToHDFS {
def main(args: Array[String]): Unit = {
println("""In class putFileToHDFS""");
val tester = Process("source ./trial.sh").lineStream;
tester.foreach(println)
}
}
答案 0 :(得分:1)
您不需要来源脚本文件,因为仅当您要包含另一个脚本中的脚本时才需要这样做。您所需要做的就是运行它:
Process("bash trial.sh").lineStream
答案 1 :(得分:0)
我认为这相当于source
所做的事情。
import scala.sys.process._
//send file contents to sh for interpretation
val tester = "/bin/cat /path/trial.sh".#|("/bin/sh").lineStream
当然,如果trial.sh
是可执行的,事情会容易得多。
val tester = "/bin/sh -c /path/trial.sh".lineStream