¿Dónde están los archivos de inicio del perfil bash?

8

Sé que puede tener un archivo .profileo .bashrcen su carpeta de inicio para personalizar Mac OS X 10.6.4 Inicio de bash de terminal.

Cada vez que enciendo Terminal, hay una línea que me dice "Tienes correo". Estoy tratando de encontrar dónde se indica esta línea en mis archivos de inicio, pero no puedo encontrar .bash .profileni .bashrcen mi carpeta de inicio.

También leí que el archivo de configuración global está en /etc/profiley /etc/bashrc, pero no parecen decirme 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

Por cierto, no hay /etc/bash

¿Algunas ideas? ¡Gracias!

hpy
fuente

Respuestas:

11

Esto probablemente no responda la pregunta por correo, pero aquí hay más información sobre los archivos de inicio.

¿Estás buscando los archivos en Finder? Asegúrese de buscar desde un terminal y usarlo ls -Apara que aparezcan los archivos ocultos (archivos que comienzan con un ' .').

Lo siguiente es de la Guía de referencia de Bash. Describe los archivos de inicio que se ejecutan cuando inicia una nueva ventana de terminal en OS X (que es un shell de inicio de sesión interactivo).

6.2 Archivos de inicio de Bash

Esta sección describe cómo Bash ejecuta sus archivos de inicio. Si alguno de los archivos existe pero no se puede leer, Bash informa un error. Los Tildes se expanden en los nombres de archivo como se describe anteriormente en Tilde Expansion (consulte la Sección 3.5.2 [Tilde Expansion], página 19).

Los shells interactivos se describen en la Sección 6.3 [Shells interactivos], página 75.

Se invoca como un shell de inicio de sesión interactivo o con '--login'

Cuando se invoca Bash como un shell de inicio de sesión interactivo, o como un shell no interactivo con la --loginopción, primero lee y ejecuta comandos del archivo /etc/profile, si ese archivo existe. Después de leer ese archivo, busca ~/.bash_profile, ~/.bash_loginy ~/.profile, en ese orden, y lee y ejecuta órdenes desde el primero que existe y es legible. La --noprofileopción se puede usar cuando se inicia el shell para inhibir este comportamiento.

Cuando sale un shell de inicio de sesión, Bash lee y ejecuta comandos del archivo '~ / .bash_logout', si existe.

Robert S Ciaccio
fuente
4

Esa línea en particular ( You have mail) en realidad no es parte del inicio de bash, sino una alerta de que su cuenta local en su computadora ha recibido correo por alguna razón.

Puede usar mailpara leer y eliminar el mensaje o simplemente eliminar el mensaje (muy probablemente un rebote o algo del desarrollo) de/var/mail/username

Chealion
fuente
4

Esta notificación está configurada por la variable de entorno MAILCHECK. Ver man bashy buscar MAILCHECK(presione /y escriba MAILCHECKpara buscar en la página de manual).

Aquí está el extracto relevante:

 CHEQUEO
              Especifica con qué frecuencia (en segundos) bash comprueba el correo. los
              El valor predeterminado es 60 segundos. Cuando es hora de verificar el correo, el
              Shell lo hace antes de mostrar el indicador primario. Si esto
              la variable no está establecida o establecida en un valor que no es un número
              mayor o igual a cero, el shell deshabilita la verificación de correo.

Para verificar que esta variable esté realmente establecida, ejecute echo $MAILCHECK

Para deshabilitar esta notificación, agregue la siguiente línea a su ~/.bashrc

CORREO CORREGIDO
simonair
fuente