Menü im Shell -Skript erstellen (Linux Wählen Sie den Befehl aus)

Menü im Shell -Skript erstellen (Linux Wählen Sie den Befehl aus)

BASH SELECT -Konstrukt wird verwendet, um ein nummeriertes Menü aus der Liste der Elemente zu erstellen. Dies ist hilfreich für Shell -Skripte, die die Benutzerauswahl über mehrere Elemente hinweg erforderten.

Syntax

Der wählen Die Anweisung hat eine ähnliche Syntax wie 'Für Schleife' und es ist:

Wählen Sie Element in [Liste] do [Befehle] erledigt 

Hier kann die Liste ein Array, ein Zahlenbereich, eine Reihe von Strings sein, die durch den Raum getrennt sind, die Ausgabe eines Befehls usw. Und wenn das Auswahlkonstrukt aufgerufen wird, wird jedes Element aus der Liste mit einer nummerierten Sequenz gedruckt. Das Konstrukt wird weiter ausgeführt, bis der Break -Befehl ausgeführt wird.

Bash -Beispiel auswählen

Verstehen wir das Auswahlkonstrukt mit einem Beispiel. Hier haben wir ein Bash -Skript namens erstellt Marke.Sch und der Befehl auswählen wird verwendet, um die Daten aus der Liste als Menü abzurufen. Das Skript druckt zuerst den Namen aller Marken in der Liste und fordert dann den Benutzer auf, eine von ihnen auszuwählen und den Namen der ausgewählten Marke zu drucken.

#!/Bin/Bash Marke In Apple Google Microsoft Amazon Meta do echo "Sie haben $ marke gewählt" erledigt
123456#!/bin/bash Marke Wählen

Führen Sie das Skript mit 'aus' ausBash Marke.Sch''. Sie sehen die folgende Ausgabe.

Ausgabe 1) Apple 2) Google 3) Microsoft 4) Amazon 5) Meta #? 1 Sie haben Apple # ausgewählt? 3 Sie haben Microsoft # ausgewählt? ^C 

Drücken Sie Strg+C, um zu beenden.

Noch ein Beispiel

Nehmen wir ein weiteres Beispiel für das Auswahlkonstrukt, um zu sehen, wie es mit einer Fallanweisung funktioniert.

Hier erstellen wir eine neue Datei mit dem Namen wählen.Sch Sobald wir die Datei ausgeführt haben, wählt der Benutzer ein beliebiges Element aus, und dann stimmt die Case -Anweisung dem Element mit dem Fallwert überein. Wenn kein Wert übereinstimmt 'Ungültiger Eintrag' wird drucken.

#!/bin/bash echo "Welches Betriebssystem mögen Sie?"Wählen Sie Betriebssystem in Ubuntu Linuxmint Windows8 Windows7 Windowsxp do case $ os in" ubuntu "|" Linuxmint ") echo" Ich benutze auch $ OS.";;" Windows8 "|" Windows10 "|" Windowsxp ") echo" Warum versuchst du es nicht mit Linux??";; *) echo" Ungültige Eingabe."Break ;; ESAC gemacht
12345678910111213141516171819#!/bin/bash echo "Welches Betriebssystem mögen Sie?"Wählen Sie OS in Ubuntu Linuxmint Windows8 Windows7 Windowsxpdocase $ OS in" Ubuntu "|" Linuxmint ") echo" Ich benutze auch $ OS.";;" Windows8 "|" Windows10 "|" Windowsxp ") echo" Warum versuchst du es nicht mit Linux??";;*) echo" Ungültige Eingabe."Break ;; Esacdone

Führen Sie nun das Skript mit aus Bash Select.Sch und Sie werden die folgende Ausgabe sehen.

Ausgabe 1) Ubuntu 3) Fedora 5) Windows7 2) Linuxmint 4) Windows8 6) Windowsxp #? 1 Ich benutze auch Ubuntu. #? 2 Ich benutze auch Linuxmint. #? 4 Warum versuchst du es nicht Linux?? #? 7 Ungültige Eintrag. 

Abschluss

In diesem Handbuch wird der Befehl aus SELECT in Bash Scripting verwendet.