【发布时间】:2019-12-27 22:22:53
【问题描述】:
我必须执行这个 Java 字符串 " find ./tmp -name .SYNC -exec rm -rf {} \;"
与getRuntime().exec(command)。但它不起作用!
我认为问题可能出在花括号上,因为它们以黄色突出显示。
我已经尝试过\{} , \{\}\ , '{}' , "'{}'",但没有成功。
您可以在下面查看我的代码。
String[] command={"find","./tmp","-name",".SYNC","-exec","rm","-rf","{}","\;" };
String res = Shell.executeCommand(command);
public static String executeCommand(String[] command){
...
p=Runtime.getRuntime().exec(command);
..
}
【问题讨论】:
-
当前输出或错误信息是什么?
-
你想要的输出是什么?请正确格式化您的问题。
-
看一下,问题可能在于您使用的是
\;而不是\\;,但这只是猜测。 -
您是在 Windows 还是 Linux 发行版上运行代码?
-
它在外壳上工作吗?我认为大括号必须像分号一样转义(必须使用两个反斜杠来选择 java 中的选项一)
标签: java string escaping curly-braces