从java运行linux命令时出错
我试图使用从java运行linux命令时出错,java,linux,git,repo,Java,Linux,Git,Repo,我试图使用processprocess=Runtime.getRuntime().exec(command)从java代码中运行下面的命令,但得到了错误 命令:repo forall-c'pwd;git状态“ 错误:'pwd;git:-c:第0行:查找匹配项时出现意外EOF` 我可以在linux终端上运行这个命令,但在java上运行时,问题在于pwd后的空间;吉特。有人能帮我吗 这是一个极端经典的错误,坦率地说,我很惊讶你没有通过四处搜索找到答案 进程不是命令解释器。 但是,如果只传递一个参数,
processprocess=Runtime.getRuntime().exec(command)
从java代码中运行下面的命令,但得到了错误
命令:repo forall-c'pwd;git状态“
错误:'pwd;git:-c:第0行:查找匹配项时出现意外EOF`
我可以在linux终端上运行这个命令,但在java上运行时,问题在于pwd后的空间;吉特。有人能帮我吗 这是一个极端经典的错误,坦率地说,我很惊讶你没有通过四处搜索找到答案
进程不是命令解释器。
但是,如果只传递一个参数,Runtime.exec()
仍将尝试充当一个参数,在这里您将以如下方式结束拆分:
repo
forall
-c
'pwd;git
status'
这显然不是你想要的
使用ProcessBuilder
。我不会为你做这一切,但以下是如何开始:
final Process p = new ProcessBuilder()
.command("repo", "forall", "-c", "pwd; git status")
// etc etc
.start();
.“我能够从linux终端运行此命令”@fge:您的意思是我因为使用Runtime.exec()而收到此错误吗?