GNU/Linux >> Tutoriales Linux >  >> Linux

¿Los comandos en un script bash se ejecutan en paralelo o uno tras otro?

Tal como está, se ejecutarán uno tras otro, independientemente de si fallaron o no. Solo tienen que salir en algún momento, luego se ejecuta el siguiente comando. Uno tras otro.

Si desea que se ejecuten solo si los comandos anteriores no salieron con un error, use:

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

Aquí, los dos signos de y comercial funcionan como un AND lógico . El segundo script solo se ejecutará cuando el primero haya salido limpiamente, y el tercero solo cuando el segundo se haya ejecutado sin errores. Si hubo algún error, ninguno de los siguientes comandos se ejecutará.

Sin embargo, si desea ejecutarlos en paralelo, puede hacerlo, pero hay muchas otras opciones:

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

El bash es secuencial. Al principio se interpretará el archivo do_this_first.py. Después de que python termina de ejecutarlo, el control se transfiere a bash nuevamente. El bash a su vez ejecutará python do_this_second.py y así sucesivamente.
Básicamente, haz_esto_primero comienza y termina, haz_esto_segundo comienza y termina y luego haz_esto_último comienza y termina.


Como dijo slhck, la siguiente es una opción.

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

O puede establecer -e, que se cerrará de inmediato, si una línea devuelve un código de error.

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

Para mí, este último es más legible.


Linux
  1. Ejecutar script bash como demonio

  2. Bash script que procesa un número limitado de comandos en paralelo

  3. Permiso denegado con bash.sh para ejecutar cron

  4. ¿Cómo ejecutar repetidamente el script bash cada N segundos?

  5. Ejecute el comando bash en la canalización de jenkins

Cómo ejecutar un script Bash {7 métodos}

Tutorial de scripts de Bash para principiantes:qué es, cómo escribir uno y ejemplos de scripts

Cómo ejecutar un script de Python en PHP

Cómo ejecutar múltiples comandos de Linux en un solo comando

Cómo ejecutar un script Bash

Cómo matar el script de python con el script bash