2012-08-01 84 views
2

可能重複:
run shell command from java是否可以從java運行導出命令?

我要出口一些變數,所以我有這個命令。

Runtime.getRuntime().exec("export a=b"); 

什麼是錯的這個命令,因爲這個丟exeption:

產生java.io.IOException:不能運行程序 「出口」:java.io.IOException異常:錯誤= 2,沒有這樣的文件或目錄

+1

您可以使用ProcessBuilder。看到這個問題 - http://stackoverflow.com/questions/525212/how-to-run-unix-shell-script-from-java-code – Manish 2012-08-01 11:32:07

+2

取決於你想完成什麼。您可以通過在ProcessBuilder中調用'bash'來運行shell命令,但'export'的效果只會擴展到該調用。您不能從Java程序中修改父shell的環境。 – 2012-08-01 19:38:11

+0

@ JimGarrison的評論應該是被接受的解決方案。這取決於用戶的目標是什麼。我發現這個答案非常有用,其中包含一個類似於@ Manish鏈接的例子,但是同時包含'ProcessBuilder'和'Runtime.exec()'的示例。http://stackoverflow.com/a/7370477/3196753 – tresf 2016-03-23 18:31:36

回答

3

export是一個shell命令,不是程序。執行此操作的最佳方法是將所有shell邏輯封裝到單個shell腳本中,然後執行「/ bin/sh /path/to/file.sh 「

+0

如果'出口'只需要在衍生過程的生命週期中出現,@ JimGarrison上面的評論更全面。 – tresf 2016-03-23 18:33:04

相關問題