Чтобы запустить одну или несколько команд в отдельном процессе, заключите эту серию команд в скобки. Как указано в спецификации Unix, §2.9.4 «Составные команды» :
( compound-list )
Выполнить составной список в среде подоболочек […]
Чтобы сгруппировать одну или несколько команд в один и тот же процесс оболочки , заключите этот ряд команд в фигурные скобки:
{ compound-list ; }
Выполнить составной список в текущей среде процесса. [...]
Это верно для любой оболочки POSIX (поэтому также работает в Bash ).
Таким образом, ваш пример можно изменить на:
sudo mkdir -p /data/db && \
sudo chmod 755 /data/db && \
sudo chown -R addison.pan: /data && \
( mongod & )
Это может быть хорошо, потому что вы хотите разделить процесс mongod
. С другой стороны, более общим ответом было бы сгруппировать список команд в того же самого процесса оболочки:
sudo mkdir -p /data/db && \
sudo chmod 755 /data/db && \
sudo chown -R addison.pan: /data && \
{ mongod & }
Оба они описаны в приведенных выше ссылочных документах.