- Viele Kommandozeilen-Utilities unterstützen kurze Optionen (
-f) und lange Optionen (--force)
- Die kurze Form ist für die interaktive Nutzung gedacht; in Skripten wird empfohlen, die lange Form zu verwenden
- Zum Beispiel gibt man im Terminal
$ git switch -c my-new-branch ein.
- In Release-Skripten schreibt man es so:
try shell.exec("git fetch origin --quiet", .{});
try shell.exec("git switch --create release-{today} origin/main", .{ .today = stdx.DateUTC.now() }, );
- Lange Optionen sind für Leserinnen und Leser deutlich aussagekräftiger
1 Kommentare
Hacker-News-Kommentare
Ich bevorzuge lange Optionen, aber wenn man POSIX-Befehle portabel aufrufen muss, sind kurze Optionen die einzige Wahl. POSIX legt keine langen Optionen fest.
diffheranziehen.grepaufzurufen, kann es effizienter sein, etwas wielibpcrezu verwenden.git,hg,rg,agusw. ist die Verwendung langer Optionen sinnvoll.Man sollte String-Interpolation und Befehlsausführung nicht vermischen.
execv(2),execvp(2)usw. zu übergeben.Ich stimme zu, dass man lange Optionen verwenden sollte, aber man muss die Portabilität berücksichtigen.
Man darf nicht vergessen, nach allen Optionen und vor dynamischen Argumenten
--zu verwenden.Bevor man einen Befehl aufruft, sollte man prüfen, ob seine Länge größer als
ARG_MAXist.grep --ignore-case --files-with-matches -- "hello" *.cCMD="grep --ignore-case --files-with-matches -- \"hello\" *.c"ARG_MAX=$(getconf ARG_MAX)CMD_LEN=${#CMD}if (( CMD_LEN > ARG_MAX )); thenecho "Error: Command length ($CMD_LEN) exceeds ARG_MAX ($ARG_MAX)." >&2exit 1fieval "$CMD"# Warnung: Dateinamen werden ausgewertetIch stimme diesem Ansatz zu. Ein weiterer Vorteil ist, dass sich in der Manpage leichter nachsehen lässt, was eine Option macht.
Wenn man ein Skript auf andere POSIX-Systeme portierbar machen will, muss man möglicherweise kurze Optionen verwenden.
Optionen sollte man in separate Zeilen setzen, damit sie leichter nachverfolgbar sind und
git blameeinfacher wird.Das ist eine der Grundregeln beim Schreiben von Skripten. Wenn lange Optionen möglich sind, sollte man sie verwenden.
Optionen in Langform sind für Leser deutlich selbsterklärender.