gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 15:54:52 26 4
gpt4 key购买 nike

我必须转到应用程序的路径来部署它,我尝试使用 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 之前设置所需的工作目录来实现。

关于scala - 使用 scala.sys.process 转到 scala 中的特定路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32089842/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com