1

JavaコードからEclipseで実行したいシェルスクリプトがあります。

スクリプトを実行するために外部ツールを使用することはできますが、Javaコードの実行中にスクリプトを実行する必要があります。つまり、Javaコードがスクリプトを呼び出す必要があります。

以前は「ProcessBuilder」を使用してこれを行っていましたが、すべてのアクセス許可を付与すると「ファイルが見つかりません」と表示されるため、Eclipseはそのメソッドをサポートしていないようです。

EclipseのJavaコードからスクリプトを実行する方法はありますか?

コードは次のとおりです。

        String line1 = null;
        String target = new String("/home/aditya_s/workspace/rs-test/src/iperf_parse.sh " + host + " " + "9000");
        while(line1 == null)
        {
            Process p1 = Runtime.getRuntime().exec(target);
            BufferedReader input1 = new BufferedReader(new InputStreamReader(p1.getInputStream()));
            System.out.println("Ran");
            line1 = input1.readLine();
            p1.destroy();
        }
        BW = Double.parseDouble(line1);

ヒント:シェルスクリプトを右クリックして、[プロパティ]に移動します。そこで、「所有者」に「読み取り/書き込み/実行」権限を付与します。デフォルトでは、「実行」権限はありません。そのため、「script.shを実行できませんでした」などのエラーが発生する可能性があります。

4

3 に答える 3

1

Eclipse は Java プログラムを通常どおりに実行するため、ProcessBuilder も同様に機能します。間違ったパスを通過した可能性があります。パスが相対パスの場合は、からの相対パスになりますSystem.getProperty("user.dir")

于 2013-03-07T12:02:55.723 に答える
0

ProcessBuilderを見る必要があります

于 2013-03-07T12:02:16.280 に答える
0

以下を使用できるはずです。シェルスクリプトを実行したいスクリプトに置き換えてください。

String s = "shellscript";
Process proc = Runtime.getRuntime().exec(s); 
于 2013-03-07T12:00:17.307 に答える