Я хочу запустить некоторые команды параллельно. Когда все эти команды будут завершены, начните следующую. Я думаю, что следующий подход будет работать
#!/bin/bash
command1 &
command2 &
command3 &&
command4
но это не так. Мне нужно запустить, command4
когда все первые три команды были полностью закончены.
PID1=$!
а затем подождать всех с нимwait "$PID1" "$PID2" "$PID3"
. Это немного сложнее, но сработает, если у процесса есть другие дети, которых вы не хотите ждать.