Rozhraní příkazového řádku Linux/GNU se řídí standardem POSIX. GNU to uvádí ve svých standardech:http://www.gnu.org/prep/standards/html_node/Command_002dLine-Interfaces.html.
Syntaxe příkazového řádku je také součástí specifikace Single Unix, ačkoli --long-options jsou GNU inovací IIRC.
Viz zde:http://pubs.opengroup.org/onlinepubs/7908799/xbd/utilconv.html
Ale ano, tento standard je implementován jako getopt.
Stručné shrnutí vlákna:
-
Vaše CLI by mělo zobrazit nápovědu, když chybí nebo jsou nesprávné parametry, kromě chybové zprávy, pokud existuje.
-
Měli byste použít
-
pro jednopísmenný příznak nebo volbu a--
pro dlouhou možnost, například-a
a--all
-
Všechny programy by měly podporovat dvě standardní možnosti:
-v
--version
a-h
--help
.-h
a--help
=> Odešlete zprávu o použití a ukončete-v
a--version
=> Zobrazit verzi programu a ukončit
Viz odkazy (IEEE a GNU getopt) uvedené v této odpovědi https://stackoverflow.com/a/8957246
Obecně ano.
- IEEE
- GNU getopt
ESR o tom shromáždil mnoho informací ve své knize "The Art of UNIX Programming". Zde je úryvek.
-A
Vše (bez argumentů). Pokud existuje volba --all ve stylu GNU, bylo by pro -a něčím jiným než synonymem, bylo by docela překvapivé. Příklady:fuser(1), fetchmail(1).Připojit, jako v tar(1). Toto je často spárováno s -d pro smazání.
-b
Velikost vyrovnávací paměti nebo bloku (s argumentem). Nastavte kritickou velikost vyrovnávací paměti nebo (v programu, který má co do činění s archivací nebo správou úložných médií) nastavte velikost bloku. Příklady:du(1), df(1), tar(1).Dávka. Pokud je program přirozeně interaktivní, může být -b použito k potlačení výzev nebo k nastavení dalších voleb vhodných pro přijímání vstupu ze souboru spíše než od lidského operátora. Příklad:flex(1).
-C
Příkaz (s argumentem). Pokud je program interpretem, který normálně přebírá příkazy ze standardního vstupu, očekává se, že mu bude předána volba -c argumentu jako jeden řádek vstupu. Tato konvence je zvláště silná pro shelly a shell-like interprety. Příklady:sh(1), ash(1), bsh(1), ksh(1),python(1). Porovnejte -e níže.Kontrola (bez argumentu). Zkontrolujte správnost argumentů souboru příkazu, ale ve skutečnosti neprovádějte normální zpracování. Programy, které interpretují příkazové soubory, se často používají jako možnost kontroly syntaxe. Příklady:getty(1), perl(1).
Úplný seznam naleznete na adrese http://catb.org/~esr/writings/taoup/html/ch10s05.html