%20del%20script%20HDI%20en%20un%20programa%20GUI%20de%20l%C3%ADnea%20de%20comandos%3F.png)
Quiero crear un script simple que inicie un programa simple basado en interfaz gráfica de usuario (piense en gráficos basados en texto estilo ncurses en un shell) en Debian. Solo accedo al servidor a través de SSH, por lo que no puedo hacer macros estándar ni nada por el estilo.
La entrada es siempre la misma: solo la necesito para iniciar el programa, luego, dentro del contexto del programa, enviar una pulsación de tecla "enter", una pulsación de tecla "R" y una pulsación de tecla "F7".
He estado trabajando en esto por un tiempo y parece que no puedo entender nada. ¿Hay alguna forma de hacer esto dentro de un script bash?
Gracias tenga un buen día
Respuesta1
Esto parece muy similar a una pregunta reciente.
https://stackoverflow.com/questions/11596059/how-do-i-read-any-one-key-in-bash/11596145#11596145
read -n 1 x; while read -n 1 -t .1 y; do x="$x$y"; done
Pero como se menciona en ese hilo, usar diálogos o programas de menús de secuencias de comandos similares sería la mejor opción.
O... ¿quieres enviar esas pulsaciones de teclas?a¿un programa? Si es así, probablemente quieras utilizar expect.
Respuesta2
Esto haría:
[root@w4n-dl-c60-64-yannick ~]# cat test.sh
#!/bin/bash
echo "The year is: $var_year"
read var_year
echo -n "Enter your name and press [ENTER]: "
read var_name
echo "Your name is: $var_name"
echo "You are $((2012 - $var_year)) years old!"
echo "You can go on!...."
read var_con
[root@w4n-dl-c60-64-yannick ~]# ./test.sh
The year is:
1980
Enter your name and press [ENTER]: Yannick
Your name is: Yannick
You are 32 years old!
You can go on!....
[root@w4n-dl-c60-64-yannick ~]#