Мне интересно, есть ли способ выполнить следующий сценарий оболочки, который ждет ввода пользователя с использованием класса Runtime java?Как выполнить интерактивный сценарий оболочки с использованием 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();
}
}
}
Thing, когда я исполню над программой, я полагал, что это будет выполняться скрипт, и что скрипт будет ждать ввода пользователя, но он просто печатает текущий каталог, а затем завершает свою работу. Есть ли способ сделать это, или это невозможно вообще в java?
Заранее спасибо
http://stackoverflow.com/questions/4784789/call-interactive -perl-script-from-java –