GNU/Linux >> Znalost Linux >  >> Linux

Jaký je rozdíl mezi středníkem a dvojitým ampersandem &&?

Tato otázka zde již obsahuje odpovědi :Jaké jsou operátory ovládání a přesměrování shellu?

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

Jaký je rozdíl mezi

echo "Hello " ; echo "world"

a

echo "Hello " && echo "world"

Zdá se, že oba spouštějí dva příkazy po sobě.

Přijatá odpověď:

echo "Hello " ; echo "world" znamená spustit echo "world" bez ohledu na to, jaký je stav ukončení předchozího příkazu echo "Hello" je tj. echo "world" bude spuštěn bez ohledu na úspěch nebo selhání příkazu echo "Hello" .

Zatímco v případě echo "Hello " && echo "world" , echo "world" spustí se pouze v případě, že první příkaz (echo "Hello" ) je úspěšný (tj. výstupní stav 0).

Následující příkazy uvádějí příklad toho, jak shell zpracovává řetězení příkazů pomocí různých operátorů:

$ false ; echo "OK"
OK
$ true ; echo "OK"
OK
$ false && echo "OK"
$ true && echo "OK"
OK
$ false || echo "OK"
OK
$ true || echo "OK"
$

Linux
  1. Jaký je rozdíl mezi InnoDB a MyISAM?

  2. Jaký je rozdíl mezi $(stuff) a `stuff`?

  3. Rozdíl mezi [[ $a ==Z* ]] a [ $a ==Z* ]?

  1. Jaký je rozdíl mezi normálním uživatelem a systémovým uživatelem?

  2. Rozdíl mezi „env“ a „printenv“?

  3. Rozdíl mezi Nss a Pam?

  1. Jaký je rozdíl mezi Ddrescue, Gddrescue a Dd_rescue?

  2. Jaký je rozdíl mezi nohoup a ampersand

  3. Jaký je rozdíl mezi ls a l?