私はしばらくの間グーグルをしていて、誰もが異なる解決策を持っているようですが、どれも私のために働いているようには見えません。
との両方を試しましProcessBuilder
たRuntime
。.sh
ファイルを直接呼び出すことと、ファイルをにフィードすることの両方/bin/bash
。運がない。
基本に戻ると、私の現在のコードは次のとおりです。
String cmd[] = { "~/path/to/shellscript.sh", "foo", "bar" };
Process p = Runtime.getRuntime().exec(cmd);
手動で実行しているにもかかわらず、No such file or directory
エラーが発生しています。
~/path/to/shellscript.sh foo bar
bashから完全に機能します。
~
このシェルスクリプトは、3人の異なるユーザーに対してわずかに異なる形式で存在するため、保持する必要があります。