では正常に実行されません。私は、Javaでそれを実行したい:`hash`は、私は次の行でスクリプトを持っているプロセス
new ProcessBuilder("script.sh", "0").start().waitFor()
git
が発見されていないため、プロセスは常に(それがインストールされているため)、それはbashで完全に正常に動作にもかかわらず、終了します。
EDIT:command -v
とRuntime.getRuntime().exec(..)
と同じ(すべての組み合わせ)
私はJavaがシステムサブプロセスを呼び出す方法に慣れていませんが、 'PATH'変数は新たに作成されたコンテキストで供給されていますか?たぶん 'bash script.sh'を試してみませんか? – Aserre
@Aserre私はまた試みました: '新しいProcessBuilder("/bin/bash "、...)'。 'Process.getR()。exec(c、env)'に 'PATH'を設定しても動作しません。私は問題が 'ハッシュ'だと思う。なぜなら、それがうまく動く前に 'sleep 100'が実行されていて、それ以降はうまくいかないからです。 –
@Aserre完全な 'PATH'(' echo $ PATH'のようなもの)が機能しました! –