GNU/Linux >> Znalost Linux >  >> Linux

Co dělá Echo $? Dělat??

Tato otázka zde již obsahuje odpovědi :Jak vyhledám výstupní kódy pro aplikace?

(2 odpovědi)
Uzavřeno před 2 lety.

V mém terminálu to vytisklo zdánlivě náhodné číslo 127 . Myslím, že to vypisuje hodnotu nějaké proměnné a abych ověřil své podezření, definoval jsem novou proměnnou v=4 . Spuštěno echo $? znovu mi dal jako výstup.

Jsem zmatený, protože jsem čekal, že odpověď bude 4.

Přijatá odpověď:

Z man bash :

$? Rozbalí se na stav ukončení naposledy provedeného potrubí v popředí.

echo $? vrátí návratový stav posledního příkazu. Máte 127 to je stav ukončení posledního provedeného příkazu ukončeného s nějakou chybou (s největší pravděpodobností). Příkazy se po úspěšném dokončení ukončí se stavem ukončení (s největší pravděpodobností). Poslední příkaz dal výstup od echo $v na předchozím řádku dokončeno bez chyby.

Pokud provedete příkazy

v=4
echo $v
echo $?

Získáte výstup jako:

4 (from echo $v)
0 (from echo $?)

Zkuste také:

true
echo $?

Získáte .

false
echo $?

Získáte 1 .

true příkaz nedělá nic, pouze se ukončí se stavovým kódem ; a false příkaz také nedělá nic, pouze se ukončí se stavovým kódem indikujícím selhání (tj. se stavovým kódem 1 ).


Linux
  1. Co znamená „–“ (dvojitá pomlčka)?

  2. Co Libgl_always_indirect=1 ve skutečnosti dělá?

  3. Co dělá . ~/.bashrc Příkaz Udělat??

  1. Co dělá poll() s časovým limitem 0?

  2. Původ kworker-vlákna

  3. Co dělá ulimit -s neomezený?

  1. Co dělá „lc_all=c“?

  2. Jaké je použití $# v Bash

  3. Co dělá `set -x`?