gpt4 book ai didi

shell - 使用通配符运行多个 shell 命令

转载 作者:行者123 更新时间:2023-12-04 13:27:27 24 4
gpt4 key购买 nike

是否有一种简单的方法可以在 Scala(或 Java)中执行以下操作。我想从 Scala 进程运行命令行命令,例如:

 cd test && javac *.java

作为动态生成的 shell 脚本。 javac *.java应该
发生在目录 test .平常的简单
 import scala.sys.process._
...
"cd test && javac *.java".!

或者
 "cd test && javac *.java".!!

不起作用,因为 Scala 曲解了 &&和通配符 * .我没有
知道为什么。

最佳答案

对于你想要的,你应该输入字符串作为 bash 的命令行参数。 . (即, Process(Seq("bash","-c","cd test && javac *.java")).! )原因是没有虚拟 shell,您可以在其中输入命令来更改状态,例如 cd .您必须明确地创建一个。
process工具将允许您将调用链接在一起,但调用的副作用最好反射(reflect)在文件系统或其他类似系统中,而不是在 shell 环境中。 ProcessBuilder scaladoc contains an example在介绍性文本的末尾。

关于shell - 使用通配符运行多个 shell 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19528455/

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