Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从java运行linux命令时出错_Java_Linux_Git_Repo - Fatal编程技术网

从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()而收到此错误吗?