select
bash select
Die Bash enthält eine Funktion mit der sich ein einfaches Menü darstellen lässt.
#!/bin/bash # Bash Menu Script Example PS3='Please enter your choice: ' options=("Option 1" "Option 2" "Option 3" "Quit") select opt in "${options[@]}" do case $opt in "Option 1") echo "you chose choice 1" ;; "Option 2") echo "you chose choice 2" ;; "Option 3") echo "you chose choice 3" ;; "Quit") break ;; *) echo invalid option;; esac done
http://askubuntu.com/questions/1705/how-can-i-create-a-select-menu-in-a-shell-script
Das hat aber ganz schön Nachteile. Alle Beispiele werden in einer Schleife abgewickelt, das brauche ich aber nicht, wenn ich nur einen Durchlauf haben möchte. Ausserdem muss ein Wert 3 Mal angegeben werden. Einmal in der Auflistung, einmal im Case zweig, und noch Einmal wenn ich mit dem Wert tatsächlich etwas anfangen will, wenn er gewählt wurde. Was also tun, um eine einfache Auswahl zu erzeugen, die sich auch einfach erweitern lässt?
Wir verwenden dazu ein Array:
# Warning ARRAY[0] is empty for boundary checking!!! ARRAY[1]="aa" ARRAY[2]="ab" # Display array to screen for (( i = 1; $i <= ${#ARRAY[@]}; i++ )) do echo "Press $i for ${ARRAY[$i]}" done #Read input until we have a valid input until [[ $input -gt 0 ]] && [[ $input -le ${#ARRAY[@]} ]]; do echo "Wert zwischen 1 und ${#ARRAY[@]} waehlen" read input done # Do what you like with your selection X=${ARRAY[$input]}
Braucht man mehr Werte im Script, kann man das Array beliebig erweitern. Das könnte man in ein anderes File auslagern. Oder noch was einbauen, dass man eine Taste drücken muss nachdem eine Bildschirmseite ausgegeben wurde.
Powershell Switch
Wie geht ein select-case auf der Powershell?
switch ($(hostname)) { hosta { [string]$Config="hostA.example.com" } hostb { [string]$Config="hostB.example.com" } default { write-output "Script not configured for $(hostname)!" exit 1 } } write-output $Config
- Suche
-
Neueste Beiträge
- Immobilienpreise vs. Windkraft 17. April 2024
- Frage in der Überschrift? 16. April 2024
- Glitch: 5G 9. April 2024
- Glitch: Demokratie 7. April 2024
- Goggle 2. April 2024
- KI wird uns Alle retten 1. April 2024
- Glitch: Zeitumstellung 31. März 2024
- Glitch: Videocall 25. März 2024
- Glitch: Servicepauschale 24. März 2024
- Glitch: Handysignatur 22. März 2024
- Archive
- Schlagwörter5g 10.3 a1 bandbreite bash breitband browser buch DNS facebook glasfaser glitch Google internet IT linux lte microsoft mobil ms openssl opensuse pi pki powershell pv Quote quotes raser script Security shell spam ssl Strom suse tls Treiber walterschlag windows windows 10 wort des tages zitat zitat des tages Zitate