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.