ホームページ >Java >&#&チュートリアル >Java コードは Unix シェル スクリプトをシームレスに実行できますか?
Java コードから Unix シェル スクリプトをシームレスに実行する方法
Java から Unix コマンドを実行するには、Runtime.getRuntime().exec( myCommand)。ただし、次のような疑問が生じます: Unix シェル スクリプトは Java コードから実行できますか?
Java からのシェル スクリプトの実行
答えは、はっきりと「はい」です。これを実現するには、外部プロセスの実行とその環境の管理のために特別に設計されたクラスである 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 からシェル スクリプトを実行することがグッド プラクティスとみなされるかどうかには議論の余地があります。複雑さが増し、潜在的なセキュリティリスクが生じると主張する人もいます。しかし、シェル スクリプトは既存の Unix 環境との柔軟性と相互運用性を提供できると主張する人もいます。
最終的には、その決定はアプリケーションの特定の要件と、必要な制御とセキュリティのレベルによって決まります。柔軟性とレガシー統合を優先する場合は、Java からシェル スクリプトを実行することが現実的な選択肢になる可能性があります。
以上がJava コードは Unix シェル スクリプトをシームレスに実行できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。