Існує кілька різних шаблонів для варіантів, які історично використовувалися в додатках UNIX. Кілька старих, як дьоготь , використовують позиційну схему:
аргументи параметрів команди
як, наприклад, використання смоли
tar * щось * f "файл, що працює на" * "шляхах файлів для маніпулювання" *
У першій спробі уникнути плутанини, tar і кілька інших програм зі старим стилем прапорців-аргументів дозволили розмежувати прапори тире, але більшість із нас, старих хлопців, просто ігнорували це.
Деякі інші команди мають більш складний синтаксис командного рядка, наприклад, dd (1), який використовує прапори, рівні знаки, назви шляхів, аргументи та куріпки в груші, всі з диким залишенням.
У BSD та пізніших версіях unix це більш-менш сходилось до однознакових прапорів, позначених символом «-», але це почало створювати декілька проблем:
- прапори можуть бути важко запам'ятати
- іноді ви насправді хотіли використовувати ім'я з "-"
- і особливо з інструментами GNU, почали існувати обмеження, які накладаються кількістю можливих прапорів. Тож інструменти GNU додали довгі варіанти GNU, як-от
--output
.
Тоді Сун вирішив, що зайвий '-' є зайвим, і почав використовувати прапори довгих стилів з синглами.
І ось так сталося безладдя зараз.