Я пытаюсь найти способ запуска нескольких команд параллельно в sh
и дождаться завершения.
Я обнаружил, что следующее не работает (sh: 1: Syntax error: ";" unexpected
):
sh -c '(sleep 3 && echo 1) & ; (sleep 3 && echo 2) & ; wait'
Но этот синтаксис работает так, как ожидалось:
sh -c '(sleep 3 && echo 1) & ;; (sleep 3 && echo 2) & ;; wait'
Но я не понимаю, в чем разница.
Мой вопрос в том, что означает ;;
и когда он должен использоваться?