ubuntuusers.de

Pause im Bash script

Status: Gelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

Kenny

Anmeldungsdatum:
21. Oktober 2004

Beiträge: 73

Hallo Leute,

wie kann man in einem Bash Script folgenden Problem lösen? Das Script soll erst weiter laufen wenn man die Leer- oder beliebige Taste drückt? Bestimmt ist das einfach nur mir fällt gerade nichts ein ☹

mfg kenny

comm_a_nder

Avatar von comm_a_nder

Anmeldungsdatum:
5. Februar 2006

Beiträge: 2533

Wohnort: Dresden

so in etwa:

echo "Bitte Taste drücken"
read ANSWER

ifish

Avatar von ifish

Anmeldungsdatum:
19. November 2004

Beiträge: 252

Wohnort: Dormagen

Wie wäre es mit

echo "Bitte Taste druecken"
read EINGABE

if
[ $EINGABE  ]
then
echo weiter gehts
fi

comm_a_nder

Avatar von comm_a_nder

Anmeldungsdatum:
5. Februar 2006

Beiträge: 2533

Wohnort: Dresden

Der Sinn der if Schleife ergibt sich mir noch nicht ganz, da er dorthin ja eh nur kommt, wenn er irgendwas von der Tastatur eingelesen hat.

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17599

Wohnort: Berlin

read ANSWER


wartet aber nicht auf eine beliebige Taste, sondern auf irgendwas, gefolgt von Enter.

Für wirklich beliebige Taste benötigst Du bestimmt ncurses, um ein C-Programm zu schreiben, das ungepuffert einzelne Tasten liest.

man getch

nachdem Du die ncurses-man-page installiert hast.
Trivial ist das alles leider nicht.

comm_a_nder

Avatar von comm_a_nder

Anmeldungsdatum:
5. Februar 2006

Beiträge: 2533

Wohnort: Dresden

Doch es ist trivial, ich ergänze mein read um -sn1 und verzichte dankend auf irgendwelche zusätzlichen Sachen:
folgendes funktioniert wunderbar:

echo "Bitte Taste drücken"
read -sn1


e: das es natürlich nicht mit Metatasten wie Shift etc funktioniert ist latürnich klar :p

Kenny

(Themenstarter)

Anmeldungsdatum:
21. Oktober 2004

Beiträge: 73

@all: danke für die Tips, werde es gleich Morgen testen ☺

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17599

Wohnort: Berlin

super - man lernt doch nie aus!

Antworten |