Ich denke nicht, dass die Shell / Utilities in historischem Unix oder in etwas so "Neuem" wie 4.4BSD unterstützt werden, wenn ein Doppelstrich (oder zwei aufeinanderfolgende Bindestriche) als Begrenzer für das Ende von Optionen verwendet wird . Mit FreeBSD können Sie beispielsweise einen Hinweis sehen, der in den rm
Hilfeseiten mit der Version 2.2.1 (1997) eingeführt wurde. Dies ist jedoch nur die Dokumentation für einen Befehl.
Wenn ich mir das älteste GNU-Fileutils- Changelog ansehe, das ich finden kann, sehe ich dieses 1 (leicht verändert):
Tue Aug 28 18:05:24 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
* touch.c (main): Don't interpret first non-option arg as a <---
time if `--' is given (POSIX-required kludge).
* touch.c: Add long-named options.
* Many files: Include <getopt.h> instead of "getopt.h" since
getopt.h will be in the GNU /usr/include.
* install.c: Declare some functions.
* touch.c, getdate.y, posixtime.y, mktime.c: New files, from bin-src.
* posixtime.y: Move year from before time to after it (but
before the seconds), for 1003.2 draft 10.
Dies ist älter als Linux . Es ist klar zu Konto für die Tatsache , dass Sie eine Datei mit einem Namen erstellen möchten die gleiche Anzahl von Ziffern als Zeit enthält Spezifikation (acht oder zehnstellige Dezimalzahl) - anstatt die Angabe einen Zeitstempels für eine bestehende Datei ...
- Ist es also Posix.1, das den Doppelstrich (
--
) als Begrenzer für das Ende von Optionen in Unix-Shells einführte ? - Hat alles damit angefangen, dass einige Leute
touch
in den frühen 90ern Ziffern in Dateinamen verwenden wollten und dies dann ein Jahrzehnt lang Stück für Stück nacheinander ging? - Worum geht es in dem temperamentvollen Kommentar im Changelog?
- Wann wurde Leitlinie 10 ( Das Argument - sollte als Begrenzer für das Ende der Optionen akzeptiert werden. [...] ) in die POSIX Utility-Syntax eingeführt ?
1. Im Gegensatz dazu, dh das Dokumentieren der langen Optionen in allen Befehlen, die global verwendet werden, was nichts damit zu tun hat. Auf der anderen Seite können Sie Bezug auf das Trennzeichen sehen erscheinen in so etwas wie GNU rm.c im Jahr 2000 als Kommentar, bevor sie ausgesetzt 2005 (die an den Endverbraucher diagnose_leading_hyphen - Funktion). Dies ist jedoch alles viel später und handelt von einem sehr spezifischen Anwendungsfall.
getopt
es in den frühen 1980er Jahren geschrieben wurde. Wenn jemand das getopt-Papier von Uniforum '85 bekommen kann, könnte das Geschichte schreiben.
--
.
getopt
unterstütztes--
.