GNU/Linux >> Znalost Linux >  >> Linux

Jak vyhledat výstupní kódy pro aplikace?

Mám potíže s nalezením komplexního aktuálního seznamu chybových kódů z Bash. např.:

$ udevadm info /dev/sdx; echo Exit code $?
Unknown device, --name=, --path=, or absolute path in /dev/ or /sys expected.
Exit code 4

Jak má člověk hledat takové výstupní kódy?

Přijatá odpověď:

tl;dr Výstupní kódy jsou specifické pro aplikaci.

Existují určité volné konvence. false a cokoli úspěšného s předponou ! (jako ! true ) v shellech POSIX vrací výstupní kód 1, ale vývojář může použít jakýkoli výstupní kód mezi 0 a 255 pro cokoli. Nakonec se musíte podívat na jeho dokumentaci (v nejlepším případě) nebo kód (v nejhorším případě), abyste věděli, co to znamená. Pro programy s man výstupní kódy stránek budou často uvedeny v sekci s názvem EXIT STATUS (Nástroje GNU jako find ).

Některé oblíbené významy jsou uvedeny v /usr/include/sysexits.h – Snažím se je používat, kdykoli je to možné. Jak zdůrazňuje @AnsgarEsztermann, nejedná se o odkaz na Bash, dokonce ani o odkaz na aplikaci s výjimkou těch, kteří se rozhodli je používat (vývojáři C/C++ primárně podle ABS).


Linux
  1. Jak získat další informace o původu výstupního kódu?

  2. Co jsou výstupní kódy Bash v Linuxu

  3. Jak čekat na ukončení nedětských procesů

  1. Jak ukončit, pokud příkaz selhal?

  2. Jak získat výstupní kód vytvořeného procesu ve skriptu očekávaného shellu?

  3. Lepší náhrada za exit(), atexit() v C

  1. Aplikace Flatpak vypadají nepatřičně? Zde je návod, jak aplikovat motivy GTK na aplikace Flatpak

  2. Ukončovací kódy příkazového řádku Bash byly demystifikovány

  3. Jak ukončím připojení SSH?