2017-05-30 73 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 –