Chcę uruchomić kilka poleceń równolegle. Po zakończeniu wszystkich tych poleceń uruchom następne. Myślałem, że następujące podejście zadziała
#!/bin/bash
command1 &
command2 &
command3 &&
command4
ale tak nie było. Muszę uruchomić, command4
gdy wszystkie trzy pierwsze polecenia zostaną całkowicie zakończone.
PID1=$!
a następnie poczekanie na wszystkie z nimwait "$PID1" "$PID2" "$PID3"
. Jest to nieco bardziej skomplikowane, ale zadziała, jeśli proces ma inne dzieci, na które nie chcesz czekać.