[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Duda con /etc/profile y /etc/bash.bashrc



Estimados, estuve leyendo un poco sobre estos archivos para entender sus diferencias, y creía que lo había hecho, hasta que hice un ejemplo práctico. En si tenemos que:

- /etc/profile: Se carga cuando se accede a una consola del tipo "login" (osea que pide nombre de usuario y contraseña, como por ejemplo una tty)

- /etc/bash.bashrc: Se carga cuando se accede a una consola del tipo "nologin" (osea que NO pide nombre de usuario y contraseña, como por ejemplo cuando escalamos o bajamos permisos con su, ejecutamos el comando bash dentro de una consola o ejecutamos comandos remotamente via SSH - de este último no estoy del todo seguro puesto que se necesita usuario y contraseña).

Ahora bien, teniendo en cuenta que el sistema que uso es Debian 7.5 Wheezy y que no he tocado los archivos de configuración que aquí menciono, el ejemplo que hice es el siguiente (lo saqué de Internet):

Agregar en /etc/profile la línea export TESTPROFILE=1

Agregar en /etc/bash.bashrc la línea export TESTBASHRC=1

Un vez hecho esto ejecuto el comando "env | grep TEST" en tres escenarios distintos:

1)_ Si me logueo normalmente obtengo lo siguiente:

TESTBASHRC=1
TESTPROFILE=1

Acá pensaba que no podía ser, puesto que en teoría no se debería leer /etc/bash.bashrc, pero según parece en algún punto en /etc/profile se carga dicho archivo (no estoy seguro puesto que no lo seguí detenidamente ya que no me llevo muy bien con el scripting en bash.

2)_ Ejecutándolo remotamente por SSH:

No obtengo nada. Lo cual es entendible puesto que profile no se ejecuta y bash.bashrc posee una línea al principio que indica que no se haga nada si se trata de una consola no interactiva.

Con esto me daría a pensar que esto corre en una consola del tipo "no login", correcto?

3)_ Si ejecuto bash dentro de una consola o me cambio de usuario con su:

TESTBASHRC=1
TESTPROFILE=1

Y acá me mareo. Por qué aparece TESTPROFILE=1 si en teoría profile no debería de haberse ejecutado. Acaso en algún momento de la ejecución de bash.bashrc se lee profile?

Les agradecería mucho me ayuden a entender esto que me tiene un poco mareado.

Saludos y muchas gracias.

Mauro.


Reply to: