【发布时间】:2021-04-06 18:56:24
【问题描述】:
我有这个块;
Runtime runtime = Runtime.getRuntime();
Process process = runtime.exec("bash -c \"mkdir .typo && mkdir .typo/lib && mkdir src/ && mkdir bin/ && ln -sFf .typo/lib lib && mkdir .typo/runtime && touch src/main.typo && echo \"@include !main\n\ndef main(str[255] args) {\n std:out(\"Hello, world!\");\n\n return 0;\n}\n\" >> src/main.typo\"");
try {
process.waitFor();
} catch (InterruptedException interruptedException) {
System.exit(130);
}
当我执行它时,什么也没有发生。它有时会发生,但大多数情况下它不起作用。我还检查了文件系统,也没有什么不同。
(InterruptedException 使用import java.lang.InterruptedException 导入。)
我试过了,错误是;
.typo: -c: line 0: unexpected EOF while looking for matching `"'
.typo: -c: line 1: syntax error: unexpected end of file
【问题讨论】:
-
什么都没有发生?没有创建目录?抛出异常?请准确解释发生了什么。
-
是的,没有创建目录,也没有抛出异常。
-
-p是干什么用的? -
乍一看,这可能是一个逃避问题。
@import前面的"正在结束命令。 -
我试过
mkdir -p没有任何改变。
标签: java shell process runtime