如何從Java 程式碼無縫執行Unix Shell 腳本
使用Runtime.getRuntime().exec( 從Java 執行Unix 指令是可行的我的命令)。然而,問題出現了:Unix shell 腳本可以從 Java 程式碼運行嗎?
從 Java 執行 Shell 腳本
答案是肯定的。為了實現這一點,請利用 Process Builder,這是一個專門為執行外部流程和管理其環境而設計的類別。以下程式碼示範了這個過程:
ProcessBuilder pb = new ProcessBuilder("myshellScript.sh", "myArg1", "myArg2"); Map<String, String> env = pb.environment(); env.put("VAR1", "myValue"); env.remove("OTHERVAR"); env.put("VAR2", env.get("VAR1") + "suffix"); pb.directory(new File("myDir")); Process p = pb.start();
好的做法還是不好?
從 Java 執行 shell 腳本是否被認為是好的做法是有爭議的。有些人認為這會帶來額外的複雜性和潛在的安全風險。然而,其他人認為 shell 腳本可以提供與現有 Unix 環境的靈活性和互通性。
最終,決定取決於應用程式的特定要求以及所需的控制和安全等級。如果您優先考慮靈活性和遺留集成,從 Java 運行 shell 腳本可能是一個可行的選擇。
以上是Java程式碼可以無縫執行Unix Shell腳本嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!