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. -- To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/538cab69.8010...@gmail.com
Re: Duda con /etc/profile y /etc/bash.bashrc
El Mon, 02 Jun 2014 13:50:49 -0300, Mauro Antivero escribió: (...) 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. Correcto, si haces un cat /etc/profile verás que se referencia ese archivo en determinadas circunstancias. 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. Correcto, ya que de manera predeterminada ssh no inicia una sesión de bash. Con esto me daría a pensar que esto corre en una consola del tipo no login, correcto? Hum... no necesariamente, has iniciado sesión con un usuario pero es un tipo de sesión distinto (no interactivo). 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? Ojo con su, las variables de entorno se gestionan con su -, si usas su a secas mantienes las variables de entorno del usuario que has usado para ejecutar su. Sí, es un follón :-) Saludos, -- Camaleón -- To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/pan.2014.06.02.17.42...@gmail.com