GNU/Linux >> Tutoriels Linux >  >> Linux

Les commandes d'un script bash s'exécutent-elles en parallèle ou l'une après l'autre ?

Dans l'état actuel des choses, ils seront exécutés les uns après les autres, qu'ils aient échoué ou non. Ils n'ont qu'à quitter à un moment donné, puis la commande suivante est exécutée. L'un après l'autre.

Si vous voulez qu'elles soient exécutées uniquement si les commandes précédentes ne se sont pas terminées avec une erreur, utilisez :

python do_this_first.py && python do_this_second.py && python do_this_last.py

Ici, les deux esperluettes fonctionnent comme un AND logique . Le deuxième script ne s'exécutera que lorsque le premier s'est terminé proprement, et le troisième uniquement lorsque le second s'est exécuté sans erreur. En cas d'erreur, aucune des commandes suivantes ne s'exécutera.

Si vous souhaitez toutefois les exécuter en parallèle, vous pouvez le faire, mais il existe de nombreuses autres options :

python do_this_first.py &
python do_this_second.py &
python do_this_last.py &

Le bash est séquentiel. Au début, le fichier do_this_first.py sera interprété. Une fois que python a fini de l'exécuter, le contrôle est à nouveau transféré à bash. Le bash à son tour exécutera python do_this_second.py et ainsi de suite.
Donc, essentiellement, do_this_first commence et se termine, do_this_second commence et se termine, puis do_this_last commence et se termine.


Comme l'a dit slhck, ce qui suit est une option.

python do_this_first.py && python do_this_second.py && python do_this_last.py

Ou vous pouvez définir -e, qui se terminera immédiatement, si une ligne renvoie un code d'erreur.

#!/bin/bash

# Exit immediately if a command exits with a non-zero status.
set -e

python do_this_first.py 
python do_this_second.py
python do_this_last.py

Pour moi, ce dernier est plus lisible.


Linux
  1. Comment exécuter des scripts Python à partir du shell

  2. Exécutez le fichier texte en tant que commandes dans Bash

  3. Comment exécuter à plusieurs reprises un script bash toutes les N secondes ?

  4. Exécuter le script bash après la connexion

  5. Comment tuer le script python avec le script bash

Comment exécuter un script bash {7 méthodes}

Tutoriel de script Bash pour les débutants :qu'est-ce que c'est, comment en écrire un et exemples de script

Comment exécuter un script Python en PHP

Comment exécuter plusieurs commandes Linux en une seule commande

Comment exécuter un script bash

Exécutez la commande bash sur le pipeline jenkins