Onde estão os arquivos de inicialização do perfil bash?

8

Sei que você pode ter um arquivo .profileou .bashrcna sua pasta pessoal para personalizar a inicialização do bash do Mac OS X 10.6.4 Terminal.

Sempre que inicio o Terminal, há uma linha que diz "Você recebeu e-mails". Estou tentando encontrar onde esta linha está declarada nos meus arquivos de inicialização, mas não consigo encontrar .bash .profilenem .bashrcna minha pasta pessoal.

Também li que o arquivo de configurações globais está dentro /etc/profilee /etc/bashrc, mas eles não parecem me dizer nada:

/ etc / profile

# 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

/ etc / 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

Aliás, não há /etc/bash

Alguma ideia? Obrigado!

hpy
fonte

Respostas:

11

Provavelmente, isso não responde à pergunta do correio, mas aqui estão mais algumas informações sobre os arquivos de inicialização.

Você está procurando os arquivos no Finder? Verifique se você está pesquisando em um terminal e usando-o ls -Apara que os arquivos ocultos (arquivos começando com ' .') sejam exibidos.

O seguinte é do Guia de Referência do Bash. Ele descreve os arquivos de inicialização que são executados quando você inicia uma nova janela de terminal no OS X (que é um shell de logon interativo).

6.2 Arquivos de inicialização do Bash

Esta seção descreve como o Bash executa seus arquivos de inicialização. Se algum dos arquivos existir, mas não puder ser lido, o Bash reportará um erro. Tildes são expandidos em nomes de arquivos, conforme descrito acima em Expansão Tilde (consulte a Seção 3.5.2 [Expansão Tilde], página 19).

Cascas interativas são descritas na Seção 6.3 [Cascas interativas], página 75.

Chamado como um shell de logon interativo ou com '--login'

Quando o Bash é chamado como um shell de logon interativo ou como um shell não interativo com a --loginopção, ele primeiro lê e executa comandos do arquivo /etc/profile, se esse arquivo existir. Depois de ler esse arquivo, ele procura ~/.bash_profile, ~/.bash_logine ~/.profile, nessa ordem, e lê e executa os comandos do primeiro que existe e é legível. A --noprofileopção pode ser usada quando o shell é iniciado para inibir esse comportamento.

Quando um shell de login sai, o Bash lê e executa comandos do arquivo '~ / .bash_logout', se existir.

Robert S Ciaccio
fonte
4

Essa linha em particular ( You have mail) não faz parte da inicialização do bash, mas um alerta de que sua conta local no computador recebeu e-mails por algum motivo.

Você pode usar mailpara ler e excluir a mensagem ou apenas excluir a mensagem (provavelmente um retorno ou algo do desenvolvimento) de/var/mail/username

Chealion
fonte
4

Esta notificação é configurada pela variável de ambiente MAILCHECK. Veja man bashe pesquise MAILCHECK(pressione /e digite MAILCHECKpara pesquisar na página de manual).

Aqui está o trecho relevante:

 MAILCHECK
              Especifica com que frequência (em segundos) o bash verifica o correio. o
              o padrão é 60 segundos. Quando chegar a hora de verificar o correio, o
              O shell faz isso antes de exibir o prompt principal. Se este
              variável não está definida ou está definida como um valor que não é um número
              maior que ou igual a zero, o shell desabilita a verificação de email.

Para verificar se essa variável está realmente configurada, execute echo $MAILCHECK

Para desativar esta notificação, adicione a seguinte linha ao seu ~/.bashrc

desabilitar MAILCHECK
simonair
fonte