Entschuldige, mir ist ein Fehler unterlaufen. Es muss natürlich ein Fehlercode zurückgegeben werden, wenn der Aufruf des Dialogs fehlschlägt. Eine Möglichkeit ist es, den Fehlercode explizit anzugeben:
1 2 3 4 | if ! DATEI=$(/usr/bin/$DIALOG --title "Aufzuteilende PDF-Datei auswählen" --getopenfilename "$USERPFAD"); then return 1 fi blablabla... |
Die andere Möglichkeit (die ich schöner finde) ist, auszunutzen, dass return
ohne Argumente den Rückgabewert des letzten Befehls zurückgibt:
1 2 3 4 5 | if DATEI=$(/usr/bin/$DIALOG --title "Aufzuteilende PDF-Datei auswählen" --getopenfilename "$USERPFAD"); then blablabla... else return fi |
Das ist insbesondere dann praktisch, wenn man den Fehlercode des zuletzt aufgerufenen Befehls erhalten will. Beispielsweise gibt grep
0 zurück, wenn es Treffer gab, 1, wenn es keine Treffer gab und 2, wenn eine Datei nicht geöffnet werden konnte.