Вы можете использовать &
для запуска процесса в фоновом режиме, например:
#!/bin/sh
cd $HOME/project/books/
npm install &
cd $HOME/project/orders/
npm install &
# if want to wait for the processes to finish
wait
Для запуска и ожидания вложенных / нескольких процессов вы можете использовать подоболочку ()
, например:
#!/bin/sh
(sleep 10 && echo 10 && sleep 1 && echo 1) &
cd $HOME/project/books/
(npm install && grunt && npm prune production ) &
cd $HOME/project/orders/
(npm install && grunt && npm prune production ) &
# waiting ...
wait
В этом случае обратите внимание на то, что команды находятся в пределах ()
и используют &&
, что означает, что только правая сторона будет оценена, если левый размер будет успешным (выход 0), например, для примера:
(sleep 10 && echo 10 && sleep 1 && echo 1) &
- Создает подоболочку, помещающую вещи между
()
- , запускает
sleep 10
, и если успешно &&
, затем запускает echo 10
, если успешно &&
затем запустите sleep 1
, а в случае успеха &&
запустите echo 1
- и запустите все это в фоновом режиме, завершив команду с
&