【发布时间】:2012-03-29 14:29:32
【问题描述】:
我想知道有没有办法执行下面的 shell 脚本,它使用 java 的 Runtime 类等待用户输入?
#!/bin/bash
echo "Please enter your name:"
read name
echo "Welcome $name"
我正在使用以下 java 代码来执行此任务,但它只显示空白控制台。
public class TestShellScript {
public static void main(String[] args) {
File wd = new File("/mnt/client/");
System.out.println("Working Directory: " +wd);
Process proc = null;
try {
proc = Runtime.getRuntime().exec("sudo ./test.sh", null, wd);
} catch (Exception e) {
e.printStackTrace();
}
}
}
事情是当我执行上面的程序时,我相信它会执行一个shell脚本并且那个shell脚本会等待用户输入,但它只是打印当前目录然后退出。有没有办法做到这一点,或者在java中根本不可能?
提前致谢
【问题讨论】:
标签: java runtime.exec