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écutez command_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 la commande_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 la commande_3 et attendez qu'elle se termine (le ; après le premier })
  • si la commande_3 réussit, lancez la commande_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

3418