Einfache Menüs oder Auswahloptionen können neben den grafischen Werkzeugen wie beispielsweise Zenity auch in rein textbasierter Form für Shells umgesetzt werden. Eine Möglichkeit ist die Eingabe ein aus dem Menü aufgezeigten Wertes, eine Andere die direkte Auswahl der Menüeinträge.
Möglichkeit 1 – Darstellung eines Menüs mit direkter Eingabe
Die Darstellung/Formatierung eines Menüs kann entweder über Here Documents oder Ausgabebefehle umgesetzt werden. In diesem Beispiel erfolgt die Formatierung mit tput und die Ausgabe mit dem echo Befehl.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
#!/bin/bash tput clear # clear the screen tput cup 3 15 # Move cursor to screen location X,Y (top left is 0,0) tput setaf 3 # Set a foreground colour using ANSI escape echo "XYX Corp LTD." tput sgr0 tput cup 5 17 tput rev # Set reverse video mode echo "M A I N - M E N U" tput sgr0 tput cup 7 15; echo "1. User Management" tput cup 8 15; echo "2. Service Management" tput cup 9 15; echo "3. Process Management" tput cup 10 15; echo "4. Backup" tput bold # Set bold mode tput cup 12 15 read -p "Enter your choice [1-4] " choice tput clear tput sgr0 tput rc |
Die Verwendung von tput setzt eine korrekt definierte $TERM Variable voraus. Andernfalls kommt es zu einer Fehlermeldung (tput: No value for $TERM and no -T specified).
by Speefak| Infosource