Có một số mẫu khác nhau cho các tùy chọn đã được sử dụng trong các ứng dụng UNIX. Một số cái cũ, như tar , sử dụng sơ đồ vị trí:
tùy chọn lệnh đối số
ví dụ như sử dụng tar
tar * Something * f "tệp hoạt động trên đường dẫn" * "của tệp để thao tác" *
Trong nỗ lực đầu tiên để tránh sự nhầm lẫn, tar và một vài chương trình khác với kiểu đối số cờ cũ cho phép phân định các cờ bằng dấu gạch ngang, nhưng hầu hết những người già của chúng ta chỉ đơn giản bỏ qua điều đó.
Một số lệnh khác có cú pháp dòng lệnh phức tạp hơn, như dd (1) sử dụng cờ, dấu bằng, tên đường dẫn, đối số và partridge trong cây lê, tất cả đều bị bỏ hoang.
Trong BSD và các phiên bản mới hơn của unix, điều này ít nhiều đã hội tụ thành các cờ một ký tự được đánh dấu '-', nhưng điều này bắt đầu đưa ra một số vấn đề:
- những lá cờ có thể khó nhớ
- đôi khi bạn thực sự muốn sử dụng tên với '-'
- và đặc biệt là với các công cụ GNU, đã bắt đầu có những hạn chế do số lượng cờ có thể áp đặt. Vì vậy, các công cụ GNU đã thêm các tùy chọn dài như GNU
--output
.
Sau đó, Sun quyết định rằng phần bổ sung '-' là dư thừa và bắt đầu sử dụng các cờ kiểu dài với một '-'s.
Và đó là cách nó trở thành mớ hỗn độn như bây giờ.