Мне интересно, есть ли способ выполнить следующий сценарий оболочки, который ожидает ввода данных пользователем с помощью класса Runtime Java?
#!/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();
}
}
}
Дело в том, что когда я запускаю вышеуказанную программу, я полагал, что она выполнит сценарий оболочки, и этот сценарий оболочки будет ждать ввода пользователя, но он просто печатает текущий каталог и затем завершает работу. Есть ли способ сделать это или это вообще невозможно в java?
Заранее спасибо