8 votos

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

Sé que se puede tener una .profile o .bashrc en su carpeta de inicio para personalizar el inicio del terminal bash de Mac OS X 10.6.4.

Cada vez que arranco Terminal, aparece una línea que me dice "Tienes correo". Estoy tratando de encontrar donde se indica esta línea en mis archivos de inicio, pero no puedo encontrar .bash ni .profile ni .bashrc en mi carpeta de inicio.

También he leído que el archivo de configuración global está en /etc/profile y /etc/bashrc pero parece que no me dicen nada:

/etc/perfil

# 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

¿Alguna idea? Gracias.

11voto

Shawn Puntos 8120

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

¿Está buscando los archivos en el Finder? Asegúrese de que está buscando desde un terminal y utilizando ls -A para que los archivos ocultos (archivos que comienzan con un ' . ') aparecen.

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

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 puede ser leído, Bash informa de un error. Las tildes se expanden en los nombres de los archivos como se describió anteriormente en Expansión de tildes (ver Sección 3.5.2 [Expansión de tildes], página 19).

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

Invocado como un shell de inicio de sesión interactivo, o con '--login'

Cuando Bash es invocado como un shell interactivo de inicio de sesión, o como un shell no interactivo con la opción --login primero lee y ejecuta los comandos del archivo /etc/profile si ese archivo existe. Después de leer ese archivo, busca ~/.bash_profile , ~/.bash_login y ~/.profile , en ese orden, y lee y ejecuta los comandos del primero que exista y sea legible. La página web --noprofile se puede utilizar cuando se inicia el shell para inhibir este comportamiento.

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

4voto

Nick Berardi Puntos 31361

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

Puede utilizar mail para leer y borrar el mensaje o simplemente borrar el mensaje (muy probablemente un rebote o algo de desarrollo) de /var/mail/username

4voto

simonair Puntos 251

Esta notificación se configura mediante la variable de entorno MAILCHECK . Ver man bash y buscar MAILCHECK (prensa / y escriba MAILCHECK para buscar en la página de manual).

Aquí está el extracto correspondiente:

 MAILCHECK
              Specifies how often (in seconds)  bash  checks  for  mail.   The
              default  is  60 seconds.  When it is time to check for mail, the
              shell does so before displaying the  primary  prompt.   If  this
              variable  is  unset,  or  set  to  a  value that is not a number
              greater than or equal to zero, the shell disables mail checking.

Para comprobar que esta variable está efectivamente configurada, ejecute echo $MAILCHECK

Para desactivar esta notificación, añada la siguiente línea a su ~/.bashrc

unset MAILCHECK

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X