Me pregunto si hay alguna forma de ejecutar el siguiente script de shell, que espera la entrada del usuario utilizando la clase Runtime de java.¿Cómo ejecutar un script de shell interactivo usando java Runtime?
#!/bin/bash
echo "Please enter your name:"
read name
echo "Welcome $name"
Estoy usando el siguiente código de Java para hacer esta tarea pero solo muestra la consola en blanco.
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();
}
}
}
La cosa es que cuando ejecuto anterior programa, yo creía que ejecutará un script de shell y que shell script esperará a la entrada del usuario, pero sólo imprime el directorio actual y luego se cierra. ¿Hay alguna manera de hacer esto o no es posible en java?
Gracias de antemano
http://stackoverflow.com/questions/4784789/call-interactive -perl-script-from-java –