Где находятся файлы запуска профиля bash?

8

Я знаю, что вы можете иметь .profileили .bashrcфайл в вашей домашней папке, чтобы настроить Mac OS X 10.6.4.

Каждый раз, когда я запускаю Терминал, появляется строка, которая говорит мне: «У тебя есть почта». Я пытаюсь найти , где эта строка указывается в моих файлах запуска, но не может найти ни .bash , .profileни .bashrcв моей домашней папке.

Я также прочитал, что файл глобальных настроек находится в /etc/profileи /etc/bashrc, но они, кажется, ничего мне не говорят:

/ И т.д. / профиль

# System-wide .profile for sh(1)

if [ -x /usr/libexec/path_helper ]; then
        eval `/usr/libexec/path_helper -s`
fi

if [ "${BASH-no}" != "no" ]; then
        [ -r /etc/bashrc ] && . /etc/bashrc
fi

/ И т.д. / Bashrc

# System-wide .bashrc file for interactive bash(1) shells.
if [ -z "$PS1" ]; then
   return
fi

PS1='\h:\W \u\$ '
# Make bash check its window size after a process completes
shopt -s checkwinsize

Кстати, нет /etc/bash

Любые идеи? Спасибо!

HPY
источник

Ответы:

11

Это, вероятно, не отвечает на почтовый вопрос, но здесь есть дополнительная информация о файлах запуска.

Вы ищете файлы в Finder? Убедитесь, что вы ищете в терминале и используете, ls -Aчтобы скрытые файлы (файлы, начинающиеся с ' .') отображались.

Ниже приводится справочное руководство Bash. Это описывает файлы запуска, которые выполняются, когда вы запускаете новое окно терминала в OS X (который является интерактивной оболочкой входа в систему).

6.2 Bash Startup Files

В этом разделе описывается, как Bash выполняет свои файлы запуска. Если какой-либо из файлов существует, но не может быть прочитан, Bash сообщает об ошибке. Тильды раскрываются в именах файлов, как описано выше в разделе «Расширение тильды» (см. Раздел 3.5.2 [Расширение тильды], стр. 19).

Интерактивные оболочки описаны в разделе 6.3 [Интерактивные оболочки], стр. 75.

Вызывается как интерактивная оболочка для входа или с «--login»

Когда Bash вызывается как интерактивная оболочка входа в систему или как неинтерактивная оболочка с --loginпараметром, она сначала читает и выполняет команды из файла /etc/profile, если этот файл существует. После прочтения этого файла, он ищет ~/.bash_profile, ~/.bash_loginи ~/.profile, в таком порядке, и читает и выполняет команду из первого, который существует и читаемые. Эта --noprofileопция может использоваться, когда оболочка запущена, чтобы запретить это поведение.

При выходе из оболочки входа в систему Bash читает и выполняет команды из файла ~ / .bash_logout, если он существует.

Роберт С Чаччо
источник
4

Эта конкретная строка ( You have mail) на самом деле не часть запуска bash, а предупреждение о том, что ваша локальная учетная запись на вашем компьютере получила почту по какой-то причине.

Вы можете использовать, mailчтобы прочитать и удалить сообщение или просто удалить сообщение (скорее всего, отскок назад или что-то из разработки) из/var/mail/username

Chealion
источник
4

Это уведомление настраивается переменной среды MAILCHECK. Смотрите man bashи ищите MAILCHECK(нажмите /и введите MAILCHECKдля поиска на странице man).

Вот соответствующая выдержка:

 MAILCHECK
              Указывает, как часто (в секундах) bash проверяет почту. 
              по умолчанию это 60 секунд. Когда пришло время проверять почту,
              Оболочка делает это перед отображением основного приглашения. Если это
              переменная не установлена ​​или установлена ​​в значение, которое не является числом
              больше или равно нулю оболочка отключает проверку почты.

Чтобы убедиться, что эта переменная действительно установлена, запустите echo $MAILCHECK

Чтобы отключить это уведомление, добавьте следующую строку в ~/.bashrc

unset MAILCHECK
simonair
источник