Ви можете використовувати заміну команди bash $(command)
таким чином:
$(command1 ; command2) &
Зауважте, що stdin і stdout все ще пов'язані з батьківським процесом, і перенаправлення принаймні stdout може бути складним. Таким чином, ви можете зв'язати команди в одному рядку, після чого передати рядок до bash
команди, щоб породити новий процес, який буде обробляти виконання.
bash -c "command1 ; command2" &
Це особливо корисно в скрипті bash, коли потрібно запустити кілька команд у фоновому режимі.
Ці два твердження повинні бути рівнозначними. Процес bash створюється в обох випадках для обробки команд (ланцюжок команд) та&
в кінці відокремлює виконання.
Цього разу ви можете додати &>/dev/null
до &
завершення команди в кінці команди, щоб перенаправити принаймні stdout та уникнути виводу на stdout батьківського процесу. Щось на зразок:
bash -c "command1 ; command2" &>/dev/null &
()
для оточення команди.