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

Wie führe ich mehrere Hintergrundbefehle in Bash in einer einzigen Zeile aus?

Sie müssen in Ihrer letzten Version einige Klammern hinzufügen --

(sleep 2 &) && (sleep 3 &)

oder das funktioniert auch --

(sleep 2 &) ; (sleep 3 &)

Wie genau sollen sie laufen? Wenn Sie möchten, dass sie im Hintergrund gestartet werden und sequenziell ausführen , würdest du etwa so vorgehen:

{ sleep 2; sleep 3; } &

Wenn Sie möchten sleep 3 nur auszuführen, wenn sleep 2 gelingt, dann:

sleep 2 && sleep 3 &

Wenn Sie andererseits möchten, dass sie parallel laufen im Hintergrund , können Sie stattdessen Folgendes tun:

sleep 2 & sleep 3 &

Und die beiden Techniken könnten kombiniert werden, wie zum Beispiel:

{ sleep 2; echo first finished; } & { sleep 3; echo second finished; } &

Da es sich bei Bash um Bash handelt, gibt es oft eine Vielzahl verschiedener Techniken, um dieselbe Aufgabe zu erfüllen, obwohl es manchmal subtile Unterschiede zwischen ihnen gibt.


Linux
  1. So führen Sie den Rsync-Prozess im Hintergrund aus

  2. Wie schreibe ich eine mehrzeilige Zeichenfolge mit Bash mit Variablen?

  3. Wie führe ich ein Skript im Hintergrund aus (Linux OpenWRT)?

  4. Wie man eine Gruppe von Befehlen in Bash ausschaltet

  5. Wie führe ich einen Befehl mehrmals mit der Bash-Shell aus?

So lesen Sie eine Datei Zeile für Zeile in Bash

So führen Sie Linux-Befehle im Hintergrund aus

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

So führen Sie ein Bash-Skript aus

So führen Sie mehrere Linux-Befehle gleichzeitig im Linux-Terminal aus

Wie bearbeite ich vorherige Zeilen in einem mehrzeiligen Befehl in Bash?