JSPをフロントエンドとして使用し、シェルスクリプトをバックエンドとして使用するWebアプリケーションを開発しています。したがって、Java プログラム (ビジネス層) を介して、入力 JSP からシェル スクリプトにパラメーターを渡します。Java からシェル スクリプトにパラメータを渡し、同じものを実行する方法を知りたいと思います。ありがとうございます。
質問する
2663 次
2 に答える
1
私は答えを見つけました。これは人々にとって役立つかもしれないと思います。コードを参照してください
public static BufferedReader process() throws IOException
{
ProcessBuilder pb = new ProcessBuilder("/home/XXXX/Desktop/request.sh","Apple");
String line;
Process process=pb.start();
java.io.InputStream is = process.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
while ((line = br.readLine()) != null)
{
System.out.println(line);
}
return br;
}
ここで、「Apple」はシェル スクリプトの入力パラメータであり、$1(環境変数) に格納されます。これはシェル スクリプトからアクセスでき、シェル スクリプトから Java に何かを送信する必要がある場合は、シェル スクリプトからエコーして取得します。それprocess.inputStream()
はJavaで..
于 2012-06-20T01:40:26.777 に答える
1
ProcessBuilder
パラメータをシェルスクリプトに渡すために使用できます。
ProcessBuilder pb = new ProcessBuilder("shellscript", "myArg1", "myArg2");
Map<String, String> env = pb.environment();
env.put("VAR1", "myValue");
env.remove("OTHERVAR");
env.put("VAR2", env.get("VAR1") + "suffix");
pb.directory("myDir");
Process p = pb.start();
于 2012-06-18T18:08:48.687 に答える