GNU/Linux >> Znalost Linux >  >> Linux

Jaký je rozdíl mezi &(ampersand) a &&(dvojitý ampersand) při provádění simultánních příkazů v Linuxu

Pro spuštění více než jednoho příkazu současně můžeme použít speciální znak &(ampersand). Dalším použitím &je spouštění příkazů na pozadí. V takovém případě byste však měli použít &jednou a konec příkazu nebo skriptu. Například:

# [some command or script] &

Pomocí &(ampersand) ke spouštění příkazů současně

Chcete-li spustit 2 příkazy současně, použijte mezi 2 nebo více příkazy speciální znak &. Syntaxe je:

# command1 & command2 & command3 ..

Pokud například chcete spustit 3 příkazy ‚uname -a‘, ‚pwd‘ a ‚ls‘ současně, můžete použít:

# hostname & pwd & date

Výstup by byl podobný:

# hostname & pwd & date
[1] 3253
[2] 3254
/root
geeklab
Sat Jan 18 05:46:07 UTC 2020
[1]-  Done                    hostname
[2]+  Done                    pwd

Při použití single &se spustí další příkazy, i když příkaz selže.

Použití &&(dvojitý ampersand) ke spouštění příkazů současně

V případě, že chcete, aby druhá úloha/příkaz musel čekat na dokončení první úlohy/příkazu, použijte &&mezi příkazy. Pokud se tedy během provádění věty vyskytne nějaká chyba, zastaví se. Například:

# hostname && pwd && date

Ukázkový výstup:

$ hostname && pwd && date
geeklab01
/root
Sat Jan 18 12:23:34 IST 2020

Zkusme použít špatný příkaz a uvidíme, zda se provedou další příkazy:

$ hostname && wrngcmd && date
geeklab01
-bash: wrngcmd: command not found

Jak je uvedeno výše, poslední příkaz „date“ nebyl proveden jako příkaz předtím, než byl chybný.


Linux
  1. Jaký je rozdíl mezi příkazem locate a find v Linuxu

  2. Jaký je rozdíl mezi volbami -i a -U použitými v příkazu rpm v Linuxu

  3. Jaký je v Linuxu rozdíl mezi vyrovnávacími pamětmi a mezipamětí hlášenými příkazem free?

  1. Jaký je rozdíl mezi linuxovým kontejnerem a obrázkem?

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

  3. Jaký je rozdíl mezi unlink a rm?

  1. Jaký je rozdíl mezi env a set (na Mac OS X nebo Linux)?

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

  3. Jaký je rozdíl mezi „vyhledat“ a „najít“ v Linuxu?