GNU/Linux >> Tutoriels Linux >  >> Linux

Quelle est la différence entre &(esperluette) et &&(double esperluette) lors de l'exécution simultanée de commandes sous Linux

Pour exécuter plusieurs commandes simultanément, nous pouvons utiliser le caractère spécial &(esperluette). Une autre utilisation de &consiste à exécuter les commandes en arrière-plan. Dans ce cas cependant, vous devez utiliser &une fois et la fin de la commande ou du script. Par exemple :

# [some command or script] &

Utiliser &(esperluette) pour exécuter des commandes simultanément

Pour exécuter 2 commandes simultanément, utilisez le caractère spécial &entre les 2 commandes ou plus. La syntaxe est :

# command1 & command2 & command3 ..

Par exemple, si vous voulez exécuter 3 commandes ‘uname -a’, ‘pwd’ et ‘ls’ simultanément, vous pouvez utiliser :

# hostname & pwd & date

Le résultat ressemblerait à :

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

Lors de l'utilisation d'un seul &, même lorsqu'une commande échoue, la commande suivante est exécutée.

Utiliser &&(double esperluette) pour exécuter des commandes simultanément

Si vous souhaitez que la deuxième tâche/commande attende la fin de la première tâche/commande, utilisez le &&entre les commandes. Ainsi, si une erreur se produit pendant l'exécution de la phrase, elle s'arrêtera. Par exemple :

# hostname && pwd && date

Exemple de sortie :

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

Essayons d'utiliser une mauvaise commande et voyons si les commandes suivantes sont exécutées :

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

Comme indiqué ci-dessus, la dernière commande "date" n'a pas été exécutée car la commande précédente était erronée.


Linux
  1. Quelle est la différence entre les options -i et -U utilisées dans la commande rpm sous Linux

  2. Quelle est la différence entre "localiser" et "trouver" sous Linux ?

  3. Quelle est la différence entre &> et >&en bash ?

  4. Quelle est la différence entre ls et l ?

  5. Différence entre les commandes 'ifconfig' et 'ip'

Comprendre la différence entre les commandes sudo et su sous Linux

Quelle est la différence entre les noyaux macOS et Linux

Quelle est la différence entre Linux et Unix ?

La différence entre plus, moins et la plupart des commandes

Quelle est la différence entre la commande apt et apt-get ?

Quelle est la différence entre les commandes kill et killall ?