3

Rhino を使用して、外部の bash スクリプトを実行し、その入力として別のファイルを設定することは可能ですか? たとえば、次の内容で bash スクリプト (exec.sh) を書き直す必要があります。

somescript.sh <fileInput.txt

私は多くの方法を試しましたが、成功しませんでした:

  1. fileInput.txt を入力ストリームとして読み取り、シェルに渡します。

    var inputStream = new java.io.InputStream(fileInput.txt);
    runCommand( "somescript.sh", inputStream);

  2. 追加の bash スクリプトへの書き込み"somescript.sh <fileInput.txt"と runCommand() の呼び出し:

    message = new FileUtils.writeStringToFile(helpfulScript, "somescript.sh
    runCommand("bash",helpedScript.getCanonicalPath());

純粋なハイライトで申し訳ありません。アイデアのアドバイスに感謝します。

4

1 に答える 1

2

input入力ストリームをオブジェクトのプロパティとして渡す必要があります。

var inputStream = new java.io.FileInputStream("fileInput.txt");
runCommand("somescript.sh", { input: inputStream });

でない場合inputInputStream文字列に変換され、コマンドに直接送信されます。同様に、outputand/orerrプロパティを追加して、コマンドの標準出力と標準エラーを取得できます (ドキュメントはこちら)。

于 2013-08-22T01:05:24.333 に答える