GNU/Linux >> Znalost Linux >  >> Linux

Existují standardy pro přepínače a argumenty příkazového řádku Linuxu?

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


Linux
  1. Tipy pro příkazový řádek Linuxu pro zvýšení produktivity

  2. Existuje nástroj příkazového řádku pro vizualizaci a analýzu dat?

  3. Linux top command:What are us, sy, ni, id, wa, hi, si and st (pro využití CPU)?

  1. 8 tipů pro příkazový řádek Linuxu

  2. 10 návodů na příkazy Linuxu pro začátečníky a experty

  3. Titan – Správce hesel příkazového řádku pro Linux

  1. ppl – Adresář příkazového řádku pro Linux

  2. Předat argumenty příkazového řádku skriptu Bash?

  3. C argc a argv Příklady pro analýzu argumentů příkazového řádku