0

JSPをフロントエンドとして使用し、シェルスクリプトをバックエンドとして使用するWebアプリケーションを開発しています。したがって、Java プログラム (ビジネス層) を介して、入力 JSP からシェル スクリプトにパラメーターを渡します。Java からシェル スクリプトにパラメータを渡し、同じものを実行する方法を知りたいと思います。ありがとうございます。

4

2 に答える 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 に答える