Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
Press any key to continue

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Software
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
???
Gast





BeitragVerfasst am: 03. Jun 2002 9:00   Titel: Press any key to continue

Hi

Weiß jemand wie ich in einem shell script "press any key to continue" einbau?

"read" funktioniert ja, nur muss man da enter drücken...

cu
 

Jochen
Gast





BeitragVerfasst am: 04. Jun 2002 9:35   Titel: Re: Press any key to continue

Da bin ich doch glatt noch ins Knobeln gekommen... Aber es geht natürlich, man muss nur wissen wie.

code:

#!/bin/bash

function press_any_key {
local OLDSTTY CHAR

OLDSTTY=$(stty -g)
stty cbreak -echo
CHAR=$(dd bs=1 count=1 2>/dev/null)
stty "$OLDSTTY"
[ "$1" == "-e" ] && echo "$CHAR"
return 0
}

echo -n "Bitte eine Taste hauen: "
TASTE=$(press_any_key -e)
echo -e "Taste wurde gedrückt.\nDie Taste war \"$TASTE\"."
exit 0


Man definiert sich hier eine Funktion mit Namen "press_any_key"; die erhält zwei lokale Variablen, damit man sich sein Hauptprogramm nicht durcheinanderbringt bei Namenkonflikten. Mittels "stty -g" speichern wir uns die Terminaleinstellungen, wie sie gerade sind und versetzen das Terminal danach in den CBREAK-Mode, in dem keine Zeilenbufferung mehr stattfindet. Mittels "-echo" wird das Auisgeben der getippten Taste auf dem Terminal unterbunden. "dd" liest exakt ein Zeichen, welches in CHAR verwahrt wird. Dann wird das Terminal restauriert und geschaut, ob die Funktion beim Aufruf ein "-e" (für echo) mitbekommen hat. Falls ja, wird das Zeichen ausgegeben, ansonsten stillschweigend zurückgekehrt. Der Rest ist nur ein Beispiel für eine Verwendung der Funktion.

Jochen
 

heinbloed
Gast





BeitragVerfasst am: 04. Jun 2002 9:54   Titel: Re: Press any key to continue

...nun fehlt nur noch der blaue Hintergrund *ggg*
Winowsemulation mal an der Realität *ggg*
Viel Erfolg ....
Gruss
 

???
Gast





BeitragVerfasst am: 04. Jun 2002 10:36   Titel: Re: Press any key to continue

Hi

Jochen: Vielen Dank!
Das war genau das was ich gesucht habe & ein bischen mehr: Dankeschön!

MfG
 

Jochen
Gast





BeitragVerfasst am: 04. Jun 2002 13:02   Titel: Re: Press any key to continue

@heinbloed:
code:

tput setf 7 ; tput setb 1


Im xterm/Konsole/rxvt/wasauchimmer eintippen...

Jochen
 

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Software Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy