Mooi schrieb:
Wenn das exit hinter dem Skriptaufruf steht, braucht man kein source (bzw. das Kürzel dafür).
@user unknown: Kannst Du den "geschilderten Grund" näher erläutern?
Wenn man ein Skript hat, das etwas nützliches tut, und man weiß das, aber kennt sich mit Skripting nicht generell aus, und ruft es aufgrund von Halbwissen mit "source" oder ". " auf, dann beendet sich die aufrufende Shell womöglich unerwartet für den User.
Als langjähriger User dieses Forums sehe ich immer wieder Skripte hier im Forum, wo am Ende dieses "exit 0" drin steht, und die Leute können in 9 von 10 Fällen nicht sagen, wozu es gut ist. Sie haben es so woanders gesehen und glauben das wäre eine ordentliche Art "Tschüss" zu sagen und gehört einfach so.
1. Ein Skript ist auch dann fertig, wenn nicht exit 0 am Ende steht. Es hängt dann nicht etwa unfertig irgendwo im Ungewissen.
2. Ein Skript hat auch einen Rückgabestatus wenn kein exit 0 drin steht. Dieser ist der Rückgabestatus des letzten, ausgeführten Befehls. Insofern könnte allenfalls ein Fehlercode den es gab verdeckt werden, und es ist sehr fraglich, in welchen Fällen das wünschenswert sein sollte. Ein Kommentar im Skript sollte das dann deutlich machen, ist mir aber bislang noch nie begegnet.