如何从Scala 2.11执行BASH源命令?

时间:2018-07-13 05:41:18

标签: java eclipse bash scala shell

如何使用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)


  }
}

2 个答案:

答案 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