domingo, 7 de abril de 2013
bashrc vrs bash_profile
Cual es la diferencia entre .bashrc y .bash_profile?Cuando hacen login en un Sistema Unix, el sistema inicia un programa. Ese programa es un shell, es decir un programa diseñado para empezar otros programas como linea de comando, el shell predeterminado es un Bourne Shell,
lee comandos desde una archivo denominado ~/.profile cuando es invocado desde una session de login.
Todos los shell pueden construir su propio profile, por ejemplo:
bash --> ~/.bash_profile
Cuando el archivo personalizado para cada tipo de shell no existe (~/.bash_profile) lee el archivo predeterminado ~/.profile
Se puede invocar un shell directamente en cualquier momento, por ejemplo, cuando abre un emulador de terminal adentro de un ambiente GUI, si el shell no es una session de login lee un arhivo llamado ~/.bashrc
En otras palabras:
Una session de login: es cuando ingresas su usuario y contraseña en la maquina o remotamente con ssh, aquí se ejecuta: ~/.bash_profile
Una session NO login : es cuando inicias un Linux con modelo grafico(GNOME o KDE) luego abres una terminal se allí ejecuta: ~/.bashrc
Por lo tanto:
~/.profile
Es el lugar para poner cosas que apliquen a la sesiones completa y definiciones de variables de ambiente.
~/.bash_profile
Puede ser usado en lugar de ~/.profile, pero necesitara incluir ~/.bashrc si la session es interactiva.
~/.bashrc
Es el lugar para poner cosas que aplican únicamente a sessiones tipo bash.
Recomendacion:
La mayor parte del tiempo no quieres mantener dos archivos separados de configuración para sesiones de login o non-login. Cuando defines tu PATH quieres aplicar las 2, puedes alegrarlo llamando a ~/.bashrc dentro de ~/.bash_profile luego incluyes todas las definiciones en ~/.bashrcPara hacer esto agrega la siguiente linea en el ~/.bash_profile
if [ -f ~/.bashrc ]; then source ~/.bashrc fi
Suscribirse a:
Comentarios de la entrada (Atom)
No hay comentarios.:
Publicar un comentario