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

8

Sé que puede tener un archivo .profile o .bashrc en 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 intentando encontrar dónde 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 leí que el archivo de configuración global está en /etc/profile y /etc/bashrc , pero parece que no me dicen 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

¿Alguna idea? Gracias!

    
pregunta hpy 13.09.2010 - 03:04

3 respuestas

10

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

¿Está buscando los archivos en Finder? Asegúrate de que estás buscando desde un terminal y usando ls -A para 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 Bash Startup Files

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 de un error. Los tildes se expanden en nombres de archivos como se describe anteriormente en Expansión de Tilde (consulte la Sección 3.5.2 [Expansión de Tilde], 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 Bash se invoca como shell de inicio de sesión interactivo, o como 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 desde el primero que existe y es legible. La opción --noprofile se puede usar cuando se inicia el shell para inhibir este comportamiento.

Cuando un shell de inicio de sesión se cierra, Bash lee y ejecuta los comandos del archivo ‘~ / .bash_logout’, si existe.

    
respondido por el Robert S Ciaccio 13.09.2010 - 07:46
4

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 computadora ha recibido correo por alguna razón.

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

    
respondido por el Chealion 13.09.2010 - 07:46
4

Esta notificación está configurada por la variable de entorno MAILCHECK . Consulte man bash y busque MAILCHECK (presione / y escriba MAILCHECK para buscar en la página del manual).

Aquí está el extracto relevante:

 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 verificar que esta variable está establecida, ejecute echo $MAILCHECK

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

unset MAILCHECK
    
respondido por el simonair 15.02.2011 - 14:29

Lea otras preguntas en las etiquetas