Entrada fixa do script HDI (não interativo) em um programa GUI de linha de comando?

Entrada fixa do script HDI (não interativo) em um programa GUI de linha de comando?

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 ~]#

informação relacionada