Forum: PC-Programmierung Shell-Skript Tastatureingabe simulieren


von Sid (Gast)


Lesenswert?

Hallo,

ich habe ein kleines Tool zur Messwerterfassung welches auf einem 
Embedded-Linux läuft. Leider ist die Bedienung nicht über 
Kommandozeilenparameter sondern das Programm hat ein "menü" d.h. mit 
scanf in einer Schleife wird auf einen Tastendruck gewartet um eine 
Aktion zu beginnen.

Nun würde ich gerne einige Aktionen automatisiert ablaufen lassen.
Gibt es irgendeine Möglichkeit, dass ich das Programm über ein Skript 
starte und Tastatureingaben in bestimmten Zeitintervallen an das 
Programm sende?

Vielen Dank für eure Hilfe.

von Klaus W. (mfgkw)


Lesenswert?

vielleicht geht es etwa in der Art:
1
( echo -n a ; sleep 5; echo -n b ; sleep 2; echo -n cd ; sleep 1; echo -n e ) | meintollesprogramm

von Klaus W. (mfgkw)


Lesenswert?

ach so: wenn scanf nach jeder Eingabe auf ein Return wartet, müssen
bei den echo... ggf. die -n weg; die unterdrücken nämlich genau
die Zeilenvorschübe.

von Sid (Gast)


Lesenswert?

das ging ja fix! supertipp, funktioniert einwandfrei. Danke für deine 
Hilfe.

von bob (Gast)


Lesenswert?

Weitere Möglichkeiten für solche Zwecke bietet "expect" oder auch
unter perl mit perl-Expect.

Damit können auch Applikationen zum "mitmachen" überredet werden, die 
dynamische Menüstrukturen haben, oder die beim Start der Applikation 
erstmal
stdin leersaugen.

Auch Applikationen die nicht von stdin lesen, sondern von /dev/tty 
können damit bedient werden.

Gruß

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.