обратите внимание, что при использовании этого вы теряете контроль над заданиями внутри оболочки вызывающего абонента ( jobsничего не будет отображаться).
Mighq
36
Выполнить встроенную оболочку:
$ set+m
Это работает путем отключения «режима монитора», чтобы оболочка не сообщала о прекращении фоновых заданий.
Хотя команда запускается в подоболочке вроде:
$ (sleep 2&)
... также отключит сообщение, единственная причина, по которой оно работает, это то, что режим монитора включен по умолчанию только для интерактивных оболочек. То есть подоболочка избегает сообщения, запустив дополнительную оболочку с автоматическим «set + m».
Следует отметить, что этот вывод не выполняется сном. Это оболочка bash, которая просто сообщает вам о готовой фоновой работе.
flolo
8
Я хотел бы уточнить два предыдущих ответа. Если вам не нужно видеть сообщение «Готово» из каких-либо команд в вашей оболочке, set +mэто путь. Просто поместите его в свой .profile и / или .bashrc и все готово. Обратите внимание, что если вы наберете это:
set+m
sleep 2&set-m
и сон заканчивается после финала set -m, вы все равно получите сообщение о готовности.
Если вы хотите отключить сообщение для одиночного вызова команды, лучше использовать метод subshell (sleep 2 &).
Честно set +mговоря , я только знал , так что +1 к Вублу за просветление меня. Однако стоит отметить, что то, какое из двух решений вы хотите, зависит от того, что вы пытаетесь сделать.
jobs
ничего не будет отображаться).Выполнить встроенную оболочку:
Это работает путем отключения «режима монитора», чтобы оболочка не сообщала о прекращении фоновых заданий.
Хотя команда запускается в подоболочке вроде:
... также отключит сообщение, единственная причина, по которой оно работает, это то, что режим монитора включен по умолчанию только для интерактивных оболочек. То есть подоболочка избегает сообщения, запустив дополнительную оболочку с автоматическим «set + m».
источник
Я хотел бы уточнить два предыдущих ответа. Если вам не нужно видеть сообщение «Готово» из каких-либо команд в вашей оболочке,
set +m
это путь. Просто поместите его в свой .profile и / или .bashrc и все готово. Обратите внимание, что если вы наберете это:и сон заканчивается после финала
set -m
, вы все равно получите сообщение о готовности.Если вы хотите отключить сообщение для одиночного вызова команды, лучше использовать метод subshell
(sleep 2 &)
.Честно
set +m
говоря , я только знал , так что +1 к Вублу за просветление меня. Однако стоит отметить, что то, какое из двух решений вы хотите, зависит от того, что вы пытаетесь сделать.источник
Без вложенной оболочки вы можете сделать следующее:
На основании этого ответа .
источник