GNU/Linux >> Linux Esercitazione >  >> Linux

I comandi in uno script bash vengono eseguiti in parallelo o uno dopo l'altro?

Allo stato attuale, verranno eseguiti uno dopo l'altro, indipendentemente dal fatto che abbiano fallito o meno. Devono solo uscire ad un certo punto, quindi viene eseguito il comando successivo. Uno dopo l'altro.

Se vuoi che vengano eseguiti solo se i comandi precedenti non sono terminati con un errore, usa:

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

Qui, le due e commerciali funzionano come un AND logico . Il secondo script verrà eseguito solo quando il primo è terminato correttamente e il terzo solo quando il secondo è stato eseguito senza errori. Se si è verificato un errore, nessuno dei seguenti comandi verrà eseguito.

Se tuttavia desideri eseguirli in parallelo, puoi farlo, ma ci sono molte altre opzioni:

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

La bash è sequenziale. All'inizio verrà interpretato il file do_this_first.py. Dopo che Python ha finito di eseguirlo, il controllo viene nuovamente trasferito a bash. La bash a sua volta eseguirà python do_this_second.py e così via..
Quindi essenzialmente, do_this_first inizia e finisce, do_this_second inizia e finisce e poi do_this_last inizia e finisce.


Come ha detto slhck, la seguente è un'opzione.

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

Oppure puoi impostare -e, che terminerà immediatamente se una riga restituisce un codice di errore.

#!/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

Per me quest'ultimo è più leggibile.


Linux
  1. Eseguire lo script bash da un altro script senza attendere il completamento dell'esecuzione dello script?

  2. Esegui lo script bash come demone

  3. Script Bash che elabora un numero limitato di comandi in parallelo

  4. Autorizzazione negata con bash.sh per eseguire cron

  5. Come uccidere lo script Python con lo script bash

Come eseguire uno script Bash {7 metodi}

Bash Scripting Tutorial per principianti:cos'è, come scriverne uno ed esempi di script

Come eseguire uno script Python in PHP

Come eseguire più comandi Linux in un unico comando

Come eseguire uno script Bash

Esegui il comando bash sulla pipeline jenkins