GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Werden Befehle in einem Bash-Skript parallel oder nacheinander ausgeführt?

So wie es aussieht, werden sie nacheinander ausgeführt, unabhängig davon, ob sie fehlgeschlagen sind oder nicht. Sie müssen nur irgendwann aussteigen, dann wird der nächste Befehl ausgeführt. Einer nach dem anderen.

Wenn Sie möchten, dass sie nur ausgeführt werden, wenn die vorherigen Befehle nicht mit einem Fehler beendet wurden, verwenden Sie:

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

Hier funktionieren die beiden kaufmännischen Und-Zeichen wie ein logischer AND . Das zweite Skript wird nur ausgeführt, wenn das erste sauber beendet wurde, und das dritte nur, wenn das zweite fehlerfrei lief. Wenn ein Fehler aufgetreten ist, wird keiner der folgenden Befehle ausgeführt.

Wenn Sie sie jedoch parallel ausführen möchten, können Sie dies tun – aber es gibt viele andere Optionen:

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

Die Bash ist sequentiell. Am Anfang wird die Datei do_this_first.py interpretiert. Nachdem Python die Ausführung beendet hat, wird die Steuerung wieder an Bash übertragen. Die Bash wiederum führt python do_this_second.py aus und so weiter.
Also im Wesentlichen, do_this_first beginnt und endet, do_this_second beginnt und endet und dann do_this_last beginnt und endet.


Wie slhck sagte, ist das Folgende eine Option.

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

Oder Sie könnten -e setzen, was sofort beendet wird, wenn eine Zeile einen Fehlercode zurückgibt.

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

Für mich ist letzteres besser lesbar.


Linux
  1. Wie führe ich Linux-Bash-Befehle in einem PERL-Skript aus?

  2. Textdatei als Befehle in Bash ausführen

  3. Wie kann man das Bash-Skript alle N Sekunden wiederholt ausführen?

  4. Führen Sie das Bash-Skript nach der Anmeldung aus

  5. Wie man Python-Skript mit Bash-Skript beendet

So führen Sie ein Bash-Skript aus {7 Methoden}

Bash-Skripting-Tutorial für Anfänger:Was es ist, wie man eines schreibt und Skriptbeispiele

So führen Sie ein Python-Skript in PHP aus

So führen Sie mehrere Linux-Befehle in einem einzigen Befehl aus

So führen Sie ein Bash-Skript aus

Führen Sie nach dem Booten der EC2-Instance ein Bash-Skript aus