Hilfe bei diesem einfachen Bash-Skript?

Ich will dass das Programm wenn ich auf "gruppen anzeigen" klicke mir alle Gruppen im System im Dialig angezeigt werden und das Programm beendet wird wenn ich auf "beenden" klicke. Aber irgendwie kommt entweder ein Fehler dass bei mir das "fi" fehlt was nicht stimmt. Oder es werden die Gruppen auch angezeigt wenn ich auf beenden klicke. Ich habe versucht die If-Anweisungen zu löschen und dann nach  wahl=$(cat $inhalt) ein echo zu machen. Und bei mir wird immer "1" ausgegeben egal auf was ich drücke. Wobei ich eig. Wenn ich auf "beenden" klicke dann sollte "Ende" rauskommen" oder ?

#!/bin/bash
#
inhalt=$(mktemp)
auswahl(){
 dialog --backtitle "Elemente anzeigen"  --title "Elemente zeigen" \
        --cancel-label "Abbruch" \
        --checklist "Bitte treffen Sie Ihre Auswahl!" 10 50 3 \
        "1." "Gruppen anzeigen im Dialig" on \
        "Ende." "Programm beenden" off \
        2>$inhalt
 fehler=$?
 clear
 if [ $fehler != 0 ] ;
  then
   echo "Da ist ein Fehler aufgetreten"
   echo "Fehler-Nr.: $fehler"
   rm $inhalt
   exit 1
 fi
 wahl=$(cat $inhalt)


 if [ "$wahl" == "1." ]; then
     dialog --backtitle "Ausgabe von Gruppen" \
            --msgbox "$(groups)" 20 60 \
 fi


 rm $inhalt
}


while :
 do
  auswahl
 done


Betriebssystem, Technik, Linux, HTML, Webseite, Java, JavaScript, VBA, Bash, Batch, cmd, Informatik, Informationstechnik, PHP, Programmiersprache, Python, Shell, Webentwicklung

Meistgelesene Fragen zum Thema Programmiersprache