/etc/profile, .bash_profile, .bashrc, .bash_logout
Existen tres ficheros en el directorio de un usuario que tienen un significado especial para el shell Bash. Estos ficheros permiten al usuario configurar el entorno de su cuenta automaticamente cuando entra en el sistema, cuando arranca un subshell o ejecutar comandos cuando sale del sistema.
Los nombres de estos ficheros son .bash_profile
, .bashrc
y .bash_logout
.
Si ninguno de estos ficheros existe en el directorio del usuario, /etc/profile
es utilizado por el sistema como fichero de configuracion de bash.
.bash_profile
es el el mas importante de los tres. Es leido y los comandos incluidos en el,
ejecutados, cada vez que el usuario entra en el sistema. Cualquier cambio hecho en este fichero
no tendra efecto hasta que salgamos y entremos en el sistema de nuevo. Una alternativa para no
tener que salir del sistema es ejecutar el comando source .bash_source
.
Bash permite dos sinonimos para este fichero, .bash_login
(derivado del C shell)
y .profile
(derivado del Bourne y Korn shell). Si .bash_profile
no existe,
el sistema buscara primero .bash_login
y luego .profile
. Solamente
uno de estos ficheros es leido, en el caso que existan simultaneamente.
# .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs BASH_ENV=$HOME/.bashrc USERNAME="" PATH=$PATH:/usr/local/pgsql/bin MANPATH=$MANPATH:/usr/local/pgsql/man PGLIB=/usr/local/pgsql/lib PGDATA=/usr/local/pgsql/data export USERNAME BASH_ENV PATH MANPATH PGLIB PGDATA
.bashrc
es leido cuando el usuario arranca un subshell, escribiendo por
ejemplo bash
en la linea de comandos. Esto nos permite ejecutar diferentes
comandos para la entrada al sistema o para la ejecucion de un subshell. Si el usuario necesita
los mismos comandos tanto a la entrada como en subshells, podemos incluir la siguiente linea en
.bash_profile
:
source .bashrc
# .bashrc # User specific aliases and functions alias ll="ls -l --color" alias lal="ls -la --color" alias faq="cd /home/rafael/EL_RINCON/FAQ/" alias php="cd /home/rafael/EL_RINCON/PHP/" # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi
.bash_logout
es el fichero leido por Bash, cuando salimos del sistema. Podemos definir,
por ejemplo que se borren los ficheros temporales creados en nuestra ultima sesion o registrar el
tiempo que hemos estado utilizando el sistema. Si .bash_logout
no existe, ningun comando
sera ejcutado a nuestra salida.
# ~/.bash_logout clearRoger Borrell Anglada (blog) (IES Puig Castellar)
Jo també estic endollat a la XEiLL