Chcete-li vytvořit soubor tar pro adresář, tar
příkaz s compress
, verbose
a file
možnosti lze zadat takto:
$ tar -cvf my.tar my_directory/
Ale také to funguje takto:
$ tar cvf my.tar my_directory/
Tedy bez pomlčky (-) před možnostmi. Proč byste někdy přidávali pomlčku (-) do seznamu možností?
Přijatá odpověď:
Existuje několik různých vzorů voleb, které byly historicky používány v aplikacích UNIX. Několik starých, například tar , použijte poziční schéma:
argumenty možností příkazu
jako například tar používá
tar *něco*f „soubor provozován“ *”cesty k souborům, se kterými se má manipulovat”*
Při prvním pokusu vyhnout se zmatku tar a několik dalších programů se stylem old flags-arguments umožňovalo oddělování vlajek pomlčkami, ale většina z nás starých lidí to prostě ignorovala.
Některé další příkazy mají složitější syntaxi příkazového řádku, například dd(1) který používá příznaky, rovnítko, cesty, argumenty a koroptev v hrušni, to vše s divokou opuštěností.
V BSD a pozdějších verzích unixu to víceméně konvergovalo k jednoznakovým příznakům označeným „-“, ale to začalo představovat několik problémů:
- vlajky mohou být těžko zapamatovatelné
- Někdy jste skutečně chtěli použít jméno se znakem „-“
- a zvláště u nástrojů GNU začala existovat omezení vyplývající z počtu možných příznaků. Takže nástroje GNU přidaly dlouhé možnosti GNU jako
--output
.
Sun se pak rozhodl, že další „-“ je nadbytečné, a začal používat dlouhé vlajky s jedním „-“.
A tak vznikl nepořádek, který je teď.