繁体   English   中英

使用scala.sys.process转到scala中的特定路径

[英]going to specific path in scala using scala.sys.process

我必须转到应用程序的路径来部署它,我尝试使用scala.sys.process并执行"cd /home/path/somepath" !

抛出异常,任何人都可以指导我如何进入目录,由于运行文件具有依赖性,我无法使用绝对路径部署它。

提前致谢

虽然这个问题已经有几年了,但这是一个很好的问题。

要使用scala.sys.process从特定工作目录执行某些操作,请将所需目录作为参数传递给ProcessBuilder,如本工作示例所示:

import scala.sys.process._
val scriptPath = "/home/path/myShellScript.sh"
val command = Seq("/bin/bash","-c",scriptPath)
val proc = Process(command,new java.io.File("."))
var output = Vector.empty[String]
val exitValue = proc ! ProcessLogger (
(out) => if( out.trim.length > 0 )
  output +:= out.trim,
(err) =>
  System.err.printf("e:%s\n",err) // can be quite noisy!
)
printf("exit value: %d\n",exitValue)
printf("output[%s]\n",output.mkString("\n"))

如果目标是确保调用者的环境默认为特定的工作目录,那么可以通过在启动jvm之前设置所需的工作目录来实现。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM