Вопрос или проблема
У меня есть задания cron, которые периодически отправляют сообщения в системную почту. Проверка почты включена, но я не хочу видеть эти сообщения, когда нажимаю TAB посреди ввода команды.
Существует ли способ настроить автозаполнение bash так, чтобы проверка почты была отключена во время выполнения, или подавить её вывод другим способом?
Контекст:
GNU bash, версия 5.2.26(1)-release (aarch64-apple-darwin23.2.0)
Я пробовал несколько полуз naивных решений, предложенных LLM, чтобы переопределить поведение, но всегда получал ошибки или это не работало.
Ответ или решение
Избавление от сообщения "У вас новое письмо в…" в оболочке bash.
Если вы регулярно получаете сообщения о новых письмах в системе из-за планировщика cron, и это вызывает беспокойство при использовании автодополнения в bash, не волнуйтесь – есть способы исключить эти сообщения из вашего сеанса. Давайте рассмотрим, как можно это сделать.
1. Отключение проверки почты
Первое решение – уменьшить количество сообщений о новых письмах, отключив проверку почты. Для этого вы можете воспользоваться переменной среды MAIL
и настройками в конфигурации оболочки.
-
Отключите почтовую переменную: Если вам не нужно получать уведомления о почте, отключите переменную MAIL в вашем файле конфигурации оболочки (например,
.bashrc
или.bash_profile
):unset MAIL
-
Перезагрузите конфигурацию оболочки: После внесения изменений в конфигурационный файл, обновите текущую оболочку:
source ~/.bashrc
2. Настройка обработки сообщений о почте
Если вам нужно сохранить возможность получения уведомлений о почте, но вы хотите скрыть эти уведомления при использовании автодополнения, существует несколько способов управлять этими сообщениями.
-
Использование файлового дескриптора: Это более сложный подход, но вы можете перенаправить вывод сообщений в
/dev/null
. Это можно сделать следующим образом:MAIL=/dev/null
В этом случае вывод сообщения о новой почте будет подавлен.
3. Настройка автодополнения
Если указанные выше методы не помогли, вы также можете изменить поведение автодополнения в оболочке bash:
-
Отключите автодополнение для новых сообщений: Вы можете попробовать добавить следующие строки в
.bashrc
, чтобы изменить поведение автодополнения:bind 'set show-all-if-ambiguous on' bind 'set completion-ignore-case on'
-
Перезагрузите конфигурацию оболочки: Как и раньше, не забудьте перезагрузить файл конфигурации:
source ~/.bashrc
Заключение
Управление сообщениями о новой почте в bash может быть реализовано несколькими способами. Независимо от того, хотите ли вы отключить почтовую проверку или изменить поведение автодополнения, указанные методы помогут вам избежать нежелательных уведомлений. Следуя данным рекомендациям, вы сможете обеспечивать бесперебойную работу терминала без раздражающих сообщений о почте, что сделает вашу работу более эффективной и комфортной.