Réponses:
/etc/bash.bashrc
s'applique à tous les utilisateurs
~/.bashrc
s'applique uniquement à l'utilisateur dans lequel il se trouve.
readonly
dans /etc/bash.bashrc
: \
Selon la documentation GNU Bash :
Lorsque Bash est appelé en tant que shell de connexion interactif, ou en tant que shell non interactif avec l'option --login, il lit et exécute d'abord les commandes du fichier / etc / profile , si ce fichier existe. Après avoir lu ce fichier, il recherche ~ / .bash_profile , ~ / .bash_login et ~ / .profile, dans cet ordre, et lit et exécute les commandes à partir du premier qui existe et est lisible. L'option --noprofile peut être utilisée lorsque le shell est démarré pour inhiber ce comportement.
Appelé en tant que shell interactif sans connexion Lorsqu'un shell interactif qui n'est pas un shell de connexion est démarré, Bash lit et exécute des commandes à partir de ~ / .bashrc , si ce fichier existe. Cela peut être inhibé en utilisant l'option --norc. L'option --rcfile file obligera Bash à lire et exécuter des commandes à partir du fichier au lieu de ~ / .bashrc.
Donc, généralement, votre ~ / .bash_profile contient la ligne
if [-f ~ / .bashrc]; puis . ~ / .bashrc; Fi
après (ou avant) toute initialisation spécifique à la connexion.
Pour vos préférences personnelles et vos scripts personnels ou fonctions bash, vous devez utiliser .bashrc (alias, fonctions ajoutées à bash ...)
Au moment où vous voulez partager quelque chose avec tous les utilisateurs (ou la plupart des utilisateurs) ou pour des choses d'usage général (chemin pour les exécutables partagés, chemin pour la documentation ...) mettez-le dans /etc/bash.bashrc
J'ai dit la plupart des utilisateurs parce que même disons que vous spécifiez un script salutations.sh qui s'imprime "Hello world!"
pour tous les utilisateurs, mais l'utilisateur Pepe veut utiliser à la place le script salutations.sh qui s'imprime "Hola el mundo!"
. Il peut modifier son chemin dans son .bashrc pour pointer vers son script au lieu du vôtre. En d'autres termes, l'utilisateur peut toujours personnaliser sa session en .bashrc selon ce qu'il veut.