Ich möchte einige Befehle parallel ausführen. Wenn alle diese Befehle beendet sind, starten Sie den nächsten. Ich denke, der folgende Ansatz wird funktionieren
#!/bin/bash
command1 &
command2 &
command3 &&
command4
aber das tat es nicht. Ich muss ausgeführt werden, command4
wenn alle ersten drei Befehle vollständig ausgeführt wurden.
PID1=$!
und dann auf alle mit zu wartenwait "$PID1" "$PID2" "$PID3"
. Das ist etwas komplizierter, funktioniert aber, wenn der Prozess andere Kinder hat, auf die Sie nicht warten möchten.