2017-05-30 116 views
-1

目前我想给终端的命令,代码如下:如何运行的Ubuntu从Java命令

p = Runtime.getRuntime().exec(new String[]{"/bin/sh","-c","hadoop fs -cat /user/hive/warehouse/new_cur2/* > /home/leo/new_cur2.csv"}); 

这是给我的错误退出:127 任何人都可以解决这个问题吗?

非常感谢

+0

你可以尝试将命令拆分为单独的字符串,afaik是任何方式的需求。 –

回答

0

从这个127 Return code from $?错误代码意味着命令不在您的路径中。确保你的PATH设置正确。

+0

谢谢,你是对的,但路径是正确的,如果我把命令部分hadoop fs -cat/user/hive/warehouse/new_cur2/*> /home/leo/new_cur2.csv在终端,它将工作 –

+0

好吧。为什么你的代码中有-c部分? –

+0

因为当我试图在Java中运行命令时,如果我想创建一个shell,那么必须使用“/ bin/bash”,“ - c”。 https://stackoverflow.com/questions/4916918/java-execute-a-command-with-a-space-in-the-pathname –