我已经在谷歌上搜索了一段时间,每个人似乎都有不同的解决方案,但似乎没有一个对我有用。
我都试过了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 完美运行。
我需要保留,~
因为对于三个不同的用户,这个 shellscript 以稍微不同的形式存在。