Es gibt verschiedene Muster für Optionen, die in der Vergangenheit in UNIX-Anwendungen verwendet wurden. Einige alte, wie Teer , verwenden ein Positionsschema:
Argumente für Befehlsoptionen
wie zum Beispiel Teer verwendet
tar * something * f "Datei bearbeitet" * "Pfade von zu manipulierenden Dateien" *
In einem ersten Versuch, die Verwirrung zu vermeiden, erlaubten es tar und einige andere Programme mit dem alten Flags-Argument-Stil, die Flags mit Bindestrichen abzugrenzen, aber die meisten von uns Alten ignorierten dies einfach.
Einige andere Befehle haben eine kompliziertere Befehlszeilensyntax, wie dd (1), bei der Flags, Gleichheitszeichen, Pfadnamen, Argumente und ein Rebhuhn in einem Birnbaum verwendet werden.
In BSD und späteren Versionen von Unix war dies mehr oder weniger konvergiert mit mit '-' gekennzeichneten Einzelzeichen-Flags, was jedoch einige Probleme aufwirft:
- Die Flaggen könnten schwer zu merken sein
- manchmal wollte man eigentlich einen Namen mit '-' verwenden
- und besonders mit GNU-Werkzeugen begannen Einschränkungen durch die Anzahl möglicher Flags. Also fügten GNU-Tools GNU-Long-Optionen wie
--output
.
Dann entschied Sun, dass das zusätzliche '-' überflüssig war, und begann mit der Verwendung von Long-Style-Flags mit Single-Flags.
Und so wurde es zu dem Chaos, das es jetzt ist.