Dans les tutoriels et les procédures, je vois souvent des commandes combinées. Par exemple,
sudo apt-get update && sudo apt-get install pyrenamer
Il semble y avoir quatre connecteurs possibles: &
, &&
, ||
et ;
. Bien que le &
connecteur soit clair pour moi (il envoie un processus à l’arrière-plan et laisse le terminal disponible), la différence entre &&
et ;
. Et je ne savais rien ||
avant le commentaire de Kaya.
Les questions suivantes traitent de la différence entre les deux connecteurs, mais le font principalement dans les commentaires:
Donc, voici un certain nombre de questions connexes:
- Et quelle est la différence entre
;
et&&
? - Quand devriez-vous les utiliser respectivement? Il serait bien de voir quelques cas d’utilisation: si je veux exécuter une commande puis éteindre mon ordinateur, quel connecteur devrais-je choisir?
- Quels sont leurs avantages et leurs dangers ? Robie Basak mentionne dans un commentaire à cette réponse qu'une commande semblable à, par exemple,
cd /somewhere_else; rm -Rf *
peut avoir des conséquences destructives si le premier élément de la chaîne de commande échoue. - Si pertinent, d'où viennent-ils?
set -e
arrêtera le script en cas d'échec, comme si toutes les commandes étaient connectées &&
.
||
est identique&&
à celui-ci, sauf qu'il n'exécute la deuxième commande que si la première a quitté avec un statut non nul (échec).