Respuestas:
/etc/bash.bashrc
se aplica a todos los usuarios
~/.bashrc
solo se aplica al usuario en la carpeta de inicio en la que se encuentra.
readonly
en /etc/bash.bashrc
: \
De acuerdo con la documentación de GNU Bash :
Cuando se invoca Bash como un shell de inicio de sesión interactivo, o como un shell no interactivo con la opción --login, primero lee y ejecuta comandos del archivo / etc / profile , si ese archivo existe. Después de leer ese archivo, busca ~ / .bash_profile , ~ / .bash_login y ~ / .profile, en ese orden, y lee y ejecuta comandos del primero que existe y es legible. La opción --noprofile se puede usar cuando se inicia el shell para inhibir este comportamiento.
Se invoca como un shell interactivo sin inicio de sesión Cuando se inicia un shell interactivo que no es un shell de inicio de sesión, Bash lee y ejecuta comandos desde ~ / .bashrc , si ese archivo existe. Esto puede inhibirse utilizando la opción --norc. La opción de archivo --rcfile obligará a Bash a leer y ejecutar comandos desde el archivo en lugar de ~ / .bashrc.
Entonces, típicamente, su ~ / .bash_profile contiene la línea
si [-f ~ / .bashrc]; luego . ~ / .bashrc; fi
después (o antes) de cualquier inicialización específica de inicio de sesión.
Para sus preferencias personales y scripts personales o funciones bash, debe usar .bashrc (alias, funciones agregadas a bash ...)
En el momento en que desee compartir algo con todos los usuarios (o la mayoría de los usuarios) o para cosas de uso general (Ruta para archivos ejecutables compartidos, ruta para documentación ...) póngalo en /etc/bash.bashrc
Dije a la mayoría de los usuarios porque incluso digamos que especificas un script greetings.sh que imprime "Hello world!"
para todos los usuarios, pero el usuario Pepe quiere usar en su lugar el script greetings.sh que imprime "Hola el mundo!"
. Puede modificar su camino en su .bashrc para señalar su guión en lugar del suyo. En otras palabras, el usuario siempre puede personalizar su sesión en .bashrc a lo que quiera.