1

Java プログラムからシェル スクリプトを実行しようとしましたが、スクリプト全体が実行されません。そして、なぜそのような問題に遭遇するのか考えてみませんか?

シェル スクリプトを実行する Java コード:

File file = new File("/path/to/script");
String COMMAND= "./run";
ProcessBuilder p = new ProcessBuilder(COMMAND);
p.directory(file);
try {
    Process startProcess= p.start();
} catch (IOException e) {
    e.printStackTrace();
}

スクリプトは正常に実行されますが、スクリプト全体が実行されるわけではありません。1行目だけ実行されているようです。

4

1 に答える 1

1

スクリプトの実行が確実に開始される場合、問題は Java ではなくスクリプト自体にあります。

違いの理由は、間違ったパスまたは間違った環境である可能性があります。コンソールからスクリプトを実行しているときは、ユーザーの環境にいるため、スクリプトはすべての環境変数を使用できます。

問題を解決するために、いくつかのデバッグ出力を追加してみてください。

于 2011-10-30T14:03:25.710 に答える