Java执行linux脚本

时间:2014-07-12 02:30:41

标签: java linux

晚上,我想执行一个位于/Scripts/copy.sh的Linux脚本。我已经使用以下内容给了他执行权限和java i&#m; m。

String tmp = "./Scripts/copy.sh";
p = Runtime.getRuntime().exec(
       new String[] {"/bin/bash","-c", tmp}
);

p.waitFor();

我无法让它发挥作用,没有错误也没有例外。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

脚本仍在运行。它只是不在当前终端显示输出。替换为:

String tmp = "./Scripts/copy.sh";
p = Runtime.getRuntime().exec(
       new String[] {"/bin/bash","-c", tmp + " >/dev/tty </dev/tty"}
);
p.waitFor();

这会将进程的stdin和stdout传递给控制终端(它还允许您运行交互式控制台程序)。