gpt4 book ai didi

java - 使用 Java 的 runtime.exec 进行 Shell (bash) 大括号扩展

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

我正在尝试使用扩展命令来处理 runtime.exec,但是大括号被解释为文字而不是被扩展。这是我想要做的:

String command = "mkdir -p Foldername{1,2,3}/InnerFolder";
Runtime.getRuntime().exec( new String[] { "sh", "-c", command } );

不幸的是,这给了我当前目录中一个名为“Foldername{1,2,3}”的文件夹,而不是“Foldername1”、“Foldername2”和“Foldername3”。有谁知道一种防止大括号被解释为文字的方法?

最佳答案

您正在尝试使用 Bash 通配符。它们在 Bash shell 中被解释。你直接运行 mkdir,所以没有 shell 来解释 {} .您需要指定shell的路径

String command = "mkdir -p Foldername{1,2,3}/InnerFolder";
Runtime.getRuntime().exec( new String[] { "/bin/bash", "-c", command } );

Source .

关于java - 使用 Java 的 runtime.exec 进行 Shell (bash) 大括号扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16486649/

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