Відповіді:
Виконайте вбудовану оболонку:
$ set +m
Це працює, вимикаючи "режим монітора", так що оболонка не повідомляє про закінчення фонових завдань.
Хоча команда працює в нижній частині, наприклад:
$ (sleep 2&)
... також буде відключено повідомлення, і єдиною причиною його роботи є те, що режим монітора за замовчуванням увімкнено лише для інтерактивних оболонок. Тобто, додаткова оболонка уникає повідомлення, запустивши додаткову оболонку, яка має автоматичне "встановити + m".
Я хотів би уточнити дві попередні відповіді. Якщо ви хочете ніколи не бачити повідомлення Готово з будь-яких команд у вашій оболонці, set +mце шлях. Просто помістіть його у свій .profile та / або .bashrc, і буде зроблено. Зауважте, що якщо ви введете це:
set +m
sleep 2 &
set -m
і після закінчення сну закінчується set -m, ви все одно отримаєте готове повідомлення.
Якщо ви хочете вимкнути повідомлення для виклику однієї команди, (sleep 2 &)спосіб підключення підключення - це шлях.
Чесно set +mкажучи , я лише про це знав , тому +1 до Wooble за те, що мене просвітило. Однак варто зауважити, що від двох потрібних рішень залежить від того, що ви намагаєтеся зробити.
Без передплати можна зробити наступне:
silent_background() {
{ 2>&3 "$@"& } 3>&2 2>-
disown &>/dev/null # Close STD{OUT,ERR} for silence if job has already completed
}
silent_background sleep 5
Виходячи з цієї відповіді .
jobsнічого не покаже).