%20Eingabe%20in%20einem%20Befehlszeilen-GUI-Programm%3F.png)
Ich möchte ein einfaches Skript erstellen, das ein einfaches GUI-basiertes Programm (denken Sie an Ncurses-Stil, textbasierte Grafiken in einer Shell) in Debian initiiert. Ich greife nur über SSH auf den Server zu, daher kann ich keine Standardmakros oder ähnliches ausführen.
Die Eingabe ist immer die gleiche: Ich brauche sie nur, um das Programm zu starten und dann im Kontext des Programms einen Tastendruck „Enter“, einen Tastendruck „R“ und einen Tastendruck „F7“ zu senden.
Ich arbeite jetzt schon eine Weile daran und komme einfach nicht weiter. Gibt es eine Möglichkeit, dies in einem Bash-Skript zu tun?
Danke und haben Sie einen guten Tag
Antwort1
Dies scheint einer kürzlich gestellten Frage sehr ähnlich zu sein.
read -n 1 x; while read -n 1 -t .1 y; do x="$x$y"; done
Aber wie in diesem Thread erwähnt, wäre die Verwendung von Dialog- oder ähnlichen Skript-Menüprogrammen die bessere Option.
Oder... möchten Sie diese Tastenanschläge sendenZuein Programm? Wenn ja, möchten Sie wahrscheinlich expect verwenden.
Antwort2
Dies würde bewirken:
[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 ~]#