%20em%20um%20programa%20GUI%20de%20linha%20de%20comando%3F.png)
Quero criar um script simples que inicie um programa simples baseado em GUI (pense em gráficos baseados em texto no estilo ncurses em um shell) no Debian. Eu só acesso o servidor através de SSH, então não consigo fazer macros padrão nem nada.
A entrada é sempre a mesma: eu só preciso iniciar o programa e, dentro do contexto do programa, enviar uma tecla "enter", uma tecla "R" e uma tecla "F7".
Estou trabalhando nisso há algum tempo e não consigo descobrir nada. Existe alguma maneira de fazer isso em um script bash?
Obrigado e tenha um bom dia
Responder1
Isso parece muito semelhante a uma pergunta recente.
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
Mas, como mencionado nesse tópico, usar programas de diálogo ou menus de script semelhantes seria a melhor opção.
Ou... você deseja enviar essas teclas digitadasparaum programa? Nesse caso, você provavelmente desejará usar expect.
Responder2
Isso faria:
[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 ~]#