Cheat sheets commandes linux
Pour exécuter plusieurs commandes successivement (attendre que la précédente se termine) uniquement si la commande précédente s'est terminée avec succès, utilisez l'opérateur &&
entre les commandes. Par exemple (vous pouvez avoir un nombre quelconque de commandes) :
command_1 && command_2
Si vous ne vous souciez pas de l'état de sortie de la commande précédente et que vous souhaitez simplement exécuter une commande après la fin de la précédente, utilisez le séparateur ;
. Exemple (vous pouvez avoir un nombre quelconque de commandes) :
command_1; command_2; command_3
Que faire si vous voulez exécuter une commande après que la précédente a fini de s'exécuter, mais seulement si cette commande précédente a échoué (si elle renvoie un état de sortie différent de 0). Dans ce cas, utilisez le séparateur ||
. Par exemple (encore une fois, vous pouvez avoir un nombre quelconque de commandes) :
command_1 || command_2
Vous pouvez également mélanger ces opérateurs. Dans ce cas, vous pouvez regrouper les commandes en utilisant {
et }
. Pour que cela fonctionne, vous devez vous assurer que vous ajoutez un point-virgule (;
) avant }
et un espace après {
. Par exemple :
command_1 || { command_2; command_3; }
Dans cet exemple :
- Exécutez la commande 1 et attendez qu'elle se termine.
- Si la "commande_1" échoue, passez à la commande suivante (
||
) :- Exécutez la "commande_2" et attendez qu'elle se termine.
- quel que soit l'état de sortie de
command_2
, exécutezcommand_3
(;
)
Un autre exemple :
{ command_1 && command_2; }; { command_3 && command_4; }
Dans cet exemple :
- exécuter la
commande_1
et attendre qu'elle se termine - si la
commande_1
réussit, lancez lacommande_2
et attendez qu'elle se termine (&&
) - que la
commande_2
ait réussi ou non, ou même qu'elle ait été exécutée ou non, lancez lacommande_3
et attendez qu'elle se termine (le;
après le premier}
) - si la
commande_3
réussit, lancez lacommande_4
(&&
)
Cette publication est une traduction de l'article how-to-run-command-after-previous-one.

MarquandT
Ethical Hacker ~ Web Developper ~ File Hosting Provider ~ Crypto Enthusiast ~ Automation Expert Bitcoin donation: 32Uu4NKGnxSPC7UukYXVyRHwbppbQpKVki