Tôi không nghĩ hệ vỏ / tiện ích trong Unix lịch sử cũng như trong "gần đây" như 4.4BSD được hỗ trợ bằng cách sử dụng dấu gạch ngang kép (hoặc hai dấu gạch nối liên tiếp) làm dấu chấm hết cho dấu phân cách tùy chọn . Ví dụ, với FreeBSD , bạn có thể thấy một ghi chú được giới thiệu trong các rm
trang có bản phát hành 2.2.1 (1997). Nhưng đây chỉ là tài liệu cho một lệnh.
Nhìn vào tập tin thay đổi tập tin GNU cũ nhất mà tôi có thể tìm thấy, tôi thấy cái này 1 (thay đổi một chút):
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.
Điều này có trước Linux . Đó là rõ ràng vào tài khoản cho thực tế là bạn có thể muốn tạo một tập tin với một tên có chứa cùng số chữ số là một thời gian đặc điểm kỹ thuật (số thập phân tám hoặc mười chữ số) - chứ không phải là chỉ định một dấu thời gian cho một tập tin hiện có ...
- Vì vậy, nó là posix.1 đã giới thiệu dấu gạch ngang kép (
--
) như là một kết thúc của dấu phân cách tùy chọn trong shell Unix không? - Tất cả đã bắt đầu bởi vì một số người muốn sử dụng chữ số trong tên tệp với
touch
vào đầu những năm 90 và sau đó điều này đã diễn ra trong một tiện ích thời trang từng phần trong một thập kỷ ?? - Nhận xét tinh thần trong các thay đổi về là gì?
- Khi nào Hướng dẫn 10 ( Đối số - nên được chấp nhận làm dấu phân cách chỉ ra kết thúc của các tùy chọn. [...] ) được giới thiệu cho Cú pháp tiện ích POSIX ?
1. Trái ngược với điều này tức là ghi lại các tùy chọn dài trong tất cả các lệnh sử dụng trên toàn cầu, không liên quan. Mặt khác, bạn có thể thấy tham chiếu đến dấu phân cách xuất hiện trong một cái gì đó như GNU rm.c vào năm 2000 dưới dạng nhận xét, trước khi được tiếp xúc với người dùng cuối vào năm 2005 ( hàm chẩn đoán_lead_hyphen ). Nhưng đây là tất cả muộn hơn và là về một trường hợp sử dụng rất cụ thể.
getopt
được viết vào đầu những năm 1980. Nếu ai đó có thể lấy giấy getopt từ Uniforum '85, điều đó có thể mang lại một số lịch sử.
--
.
getopt
hỗ trợ--
.