歴史的な Unixや4.4BSDのような「最近」のシェル/ユーティリティは、オプションの区切り文字としてダブルダッシュ(または2つの連続したハイフン)の使用をサポートしていないと思います。ではFreeBSDでは、インスタンスのために導入されたノートを参照することができrm
manページで2.2.1リリース(1997年)。しかし、これは1つのコマンドの単なるドキュメントです。
最古のを見るとGNUのfileutils のchangelog私は見つけることができる、私はこの参照1を(少し変更されました):
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.
これはLinuxよりも前のものです。既存のファイルのタイムスタンプを指定するのではなく、時間指定と同じ桁数(8桁または10桁の10進数)を含む名前のファイルを作成することをお勧めします。
- では、Unixシェルのオプション区切り文字の終わりとして二重ダッシュ()を導入したのはposix.1ですか?
--
touch
90年代初期に一部の人々がファイル名に数字を使用したいと考えていたため、これはすべて始まりました。そして、これは10年間、一度に1つのユーティリティで断片的に行われましたか?- changelogの活発なコメントとは何ですか?
- た場合指針10(引数-オプションの終了を示す区切り文字として受け入れられるべきである[...])POSIXに導入ユーティリティ構文?
1.これとは対照的に、つまり、すべてのコマンドの使用における長いオプションをグローバルに文書化することは、無関係です。一方、区切り記号への参照は、2005年にエンドユーザーに公開される前に、2000年のGNU rm.cのようなものにコメントとして表示されることがわかります(diagnose_leading_hyphen関数)。しかし、これはずっと後のことであり、非常に具体的なユースケースに関するものです。
getopt
されていましたが、1980年代初頭に書かれたときに初めて文書化されたと思います。誰かがUniforum '85からgetoptの論文を入手できるなら、それはいくらかの歴史を与えるかもしれません。
--
。
getopt
サポートされていました--
。