Saya tidak berpikir shell / utilitas dalam Unix historis atau dalam sesuatu sebagai "baru" sebagai 4.4BSD didukung menggunakan tanda hubung ganda (atau dua tanda hubung berturut-turut) sebagai akhir dari pembatas pilihan . Dengan FreeBSD , Anda dapat melihat, misalnya, catatan yang diperkenalkan di rm
manual dengan rilis 2.2.1 (1997). Tapi ini hanya dokumentasi untuk satu perintah.
Melihat changelog fileutils GNU tertua yang dapat saya temukan, saya melihat ini 1 (sedikit diubah):
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.
Ini mendahului Linux . Jelas untuk memperhitungkan fakta bahwa Anda mungkin ingin membuat file dengan nama yang mengandung jumlah digit yang sama dengan spesifikasi waktu (angka desimal delapan atau sepuluh digit) - daripada menentukan cap waktu untuk file yang ada ...
- Jadi apakah itu posix.1 yang memperkenalkan dasbor ganda (
--
) sebagai akhir dari pembatas pilihan di shell Unix? - Apakah ini semua dimulai karena beberapa orang ingin menggunakan angka dalam nama file
touch
pada awal 90-an dan kemudian ini berlanjut secara bertahap satu utilitas pada suatu waktu selama satu dekade ?? - Apa komentar bersemangat di changelog tentang?
- Kapan Pedoman 10 ( Argumen - harus diterima sebagai pembatas yang menunjukkan akhir opsi. [...] ) diperkenalkan ke Sintaks POSIX Utility ?
1. Berbeda dengan ini yaitu mendokumentasikan opsi panjang dalam semua penggunaan perintah secara global, yang tidak terkait. Di sisi lain, Anda dapat melihat referensi pembatas muncul di sesuatu seperti GNU rm.c pada tahun 2000 sebagai komentar, sebelum diekspos ke pengguna akhir pada tahun 2005 ( fungsi diagnose_leading_hyphen ). Tapi ini semua kemudian dan tentang kasus penggunaan yang sangat spesifik.
getopt
ditulis pada awal 1980-an. Jika seseorang bisa mendapatkan makalah getopt dari Uniforum '85, itu mungkin memberi sedikit sejarah.
--
.
getopt
yang didukung--
.