Tuesday, August 10, 2010

La diferencia entre bashrc y bash_profile


Bashrc y Bash_Profile son los dos, archivos ocultos ubicados en el directorio home de cada usuario, pero en realidad los dos tienen la misma función, ejecutar comandos al inicio de cada sección, por ejemplo para definir variables para nuestras rutas, crear alias, y cualquier otro comando que se nos ocurra.

Hace unos días, pensaba que los dos archivos tenían el mismo propósito, ya que siempre definía todas mis variables y alias en bashrc, para tener ordenado todo, quise poner los alias en bash_profile, y dejar el bashrc para mis variables, al hacer esto me di cuenta que cada uno tiene una funcion.

­

Cuando puse mis alias en bash_profile, cerré la sección del xterm, la abrí de nuevo y plop, nada... los alias no se estaban definiendo, luego probé poniendo los alias en bashrc, y funcionaron correctamente, pero decidí investigar que estaba pasando, buscando me encontré con un post de Josh Staiger, en el cual explicaba la sencilla y elemental diferencia.


Es que los comandos de bash_profile se ejecutan en non-login shell, osea via SSH, por consola, cada vez que nos logueamos por xdm, etc... y los de bashrc se ejecutan en cada instancia de bash, por ejemplo cada vez que abrimos una ventana de xterm.

Entonces... ¿para que usaremos el bash_profile entonces? Sencillo, lo podemos usar cuando queramos que tal comando se ejecute solamente cuando inicie la maquina por primera vez o en una sección remota,  un ejemplo es que un comando genere el estado del sistema cada vez que se inicie la maquina con nuestro usuario, porque si ese comando lo ponemos en basrc, cada vez que le ejecutemos la terminal se correrá ese proceso, y supongo que no es lo que queremos :)

Gracias

0 comentarios:

Post a Comment