Beispiel 1:
Erstellen Sie eine Bash-Datei mit dem folgenden Skript. Wenn Sie das Skript ausführen, wird es fortgesetzt, bis der Benutzer eine beliebige Taste drückt. Das Skript wartet alle 3 Sekunden auf die Eingabe des Benutzers und wenn der Benutzer keine Taste drückt, wird die Nachricht gedruckt. warten auf den Tastendruck .
#!/bin/bash
rauswerfen 'Drücken Sie eine beliebige Taste, um fortzufahren'
während [ wahr ];tun
lesen -T 3 -n 1
wenn [ $?=0 ];dann
Ausfahrt;
anders
rauswerfen 'warte auf den Tastendruck'
Sein
getan
Führen Sie das Skript aus.
$bashkey1.sh
Ausgabe:
Beispiel #2:
Erstellen Sie eine Bash-Datei mit dem folgenden Skript. In diesem Beispiel wird eine unendliche while-Schleife verwendet, die beendet wird, wenn der Benutzer „q“ drückt. Wenn der Benutzer eine beliebige Taste ohne „q“ drückt, wird der Wert der Zählervariablen um 1 erhöht und der Wert gedruckt.
#!/bin/bashrauswerfen 'Zum Beenden 'q' drücken'
zählen=0
während:;tun
lesen -n 1zu<&1
wenn [[ $ k= q]];dann
druckenf ' Verlassen des Programms '
brechen
anders
((zählen=$zählen+1))
druckenf ' Iterieren für$zählenmal '
rauswerfen 'Zum Beenden 'q' drücken'
Sein
getan
Führen Sie das Skript aus.
$bashkey2.sh
Ausgabe:
Beispiel #3:
Erstellen Sie mit dem folgenden Skript eine Bash-Datei, die basierend auf der vom Benutzer gedrückten Taste verschiedene Arten von Aufgaben ausführt. Wenn der Benutzer „1“ drückt, werden zwei Befehlszeilenargumente hinzugefügt und gedruckt. Wenn der Benutzer „2“ drückt, werden zwei Befehlszeilenargumente abgezogen und gedruckt. Das Skript wird kontinuierlich ausgeführt, bis der Benutzer „3“ drückt.
#!/bin/bashv1=$ 1
v2=$ 2
während:
tun
rauswerfen '1. Zusatz'
rauswerfen '2. Subtraktion'
rauswerfen '3. Aufhören'
rauswerfen -n 'Typ 1 oder 2 oder 3 :'
lesen -n 1 -T fünfzehnzu
druckenf ' '
Fall $ a in
1* ) rauswerfen '$v1+$v2=$(($v1+$v2)) ';;
2* ) rauswerfen '$v1-$v2=$(($v1-$v2)) ';;
3* ) Ausfahrt 0;;
* ) rauswerfen 'Versuchen Sie es nochmal.';;
esac
getan
Führen Sie das Skript mit zwei numerischen Argumentwerten aus.
$bashkey3.sh35 fünfzehnAusgabe:
Beispiel #4:
Erstellen Sie eine Bash-Datei mit dem folgenden Skript. Das Skript wird beendet, wenn der Benutzer die ESC-Taste drückt. Dieses Skript druckt die vom Benutzer gedrückten Tasten, bis die ESC-Taste gedrückt wird.
#!/bin/bashBenutzereingabe=''
rauswerfen 'Zum Beenden die ESC-Taste drücken'
# ein einzelnes Zeichen lesen
während lesen -R -n1Schlüssel
tun
# wenn Eingabe == ESC-Taste
wenn [[ $schlüssel== $'Und' ]];
dann
brechen;
Sein
# Fügen Sie den Schlüssel zu der Variablen hinzu, die vom Benutzer gedrückt wird.
Benutzereingabe+=$schlüssel
getan
druckenf ' Sie haben eingegeben:$Benutzereingabe '
Führen Sie das Skript aus.
$bashkey4.shAusgabe:
Beispiel#5:
Erstellen Sie eine Bash-Datei mit dem folgenden Code, die auf die EINGABETASTE wartet, um das Skript zu beenden. Das Skript nimmt einen Servernamen als Eingabe und versucht alle 2 Sekunden, den Server zu pingen. Wenn der Ping-Befehl die Antwort vom Server erhält, wird das Skript beendet, indem die Ausgabe angezeigt wird.
#!/bin/bashrauswerfen 'Geben Sie die Serveradresse ein, die Sie anpingen möchten'
lesenServer
während ! Klingeln -C 1 -n -IN 2 $server
tun
rauswerfen 'Versuchen, eine Verbindung herzustellen mit$server'
rauswerfen 'Zum Beenden [ENTER] drücken'
lesen -S -N 1 -T 1Schlüssel
wenn [[ $schlüssel== $'x0a' ]];# wenn Eingabe == ENTER-Taste
dann
Ausfahrt 0
Sein
getan
druckenf '%S ' '$serverläuft'
Führen Sie das Skript aus.
$bashkey5.shAusgabe:
Abschluss:
Dieses Tutorial zeigt, wie Sie das Bash-Skript auf verschiedene Weise schreiben können, das auf die Eingabe des Benutzers wartet, um eine bestimmte Aufgabe auszuführen oder das Skript zu beenden. Hoffentlich können Sie nach dem Üben der obigen Beispiele das Skript so schreiben, dass es auf jeden Tastendruck warten und die jeweilige Aufgabe basierend auf der vom Benutzer gedrückten Taste ausführen kann.