Il existe plusieurs modèles différents pour les options utilisées historiquement dans les applications UNIX. Plusieurs anciens, comme tar , utilisent un schéma de position:
options de commande arguments
comme par exemple tar utilise
tar * quelque chose * f "fichier exploité sur" * "chemins des fichiers à manipuler" *
Dans une première tentative pour éviter la confusion, tar et quelques autres programmes avec l'ancien style flags-arguments permettaient de délimiter les drapeaux avec des tirets, mais la plupart d'entre nous, les vieux, l'ignoraient simplement.
Certaines autres commandes ont une syntaxe de ligne de commande plus complexe, comme dd (1), qui utilise des drapeaux, des signes identiques, des noms de chemins, des arguments et une perdrix dans un arbre à poires, le tout avec un abandon sauvage.
Dans BSD et les versions ultérieures d'Unix, cela avait plus ou moins convergé vers des drapeaux à caractère unique marqués avec '-', mais cela commençait à poser quelques problèmes:
- les drapeaux pourraient être difficiles à retenir
- Parfois, vous vouliez réellement utiliser un nom avec '-'
- et en particulier avec les outils GNU, le nombre de drapeaux possibles a commencé à poser des problèmes. Les outils GNU ont donc ajouté des options longues GNU telles que
--output
.
Sun a alors décidé que le supplément "-" était redondant et a commencé à utiliser des drapeaux de style long avec des "-" simples.
Et c'est comme ça que le désordre est arrivé maintenant.