Quelle est la différence entre .bashrc et /etc/bash.bashrc?

14

.bashrc et / etc / bashrc

Quelle est la différence entre /etc/bash.bashrcet ~/.bashrc?

Iliyas Mansons
la source
Je ne vois /etc/bashrcnulle part.
mikewwhat
2
Voir la section de la page de manuel de bash FICHIERS.
Cyrus
1
@mikewwhat, vous pouvez trouver /etc/bash.bashrc.
Iliyas Mansons
@Cyrus J'ai vérifié la section FICHIERS de la page de manuel et "bash.bashrc" n'y apparaît pas seulement "~ / .bashrc" apparaît. Pourriez-vous fournir un lien vers la page de manuel que vous consultiez? Je regardais Bash Man Page
WinEunuuchs2Unix
1
@Cyrus, j'ai trouvé la réponse à partir du lien que vous avez partagé!
Iliyas Mansons

Réponses:

24

Lorsque bash initialise un shell bash interactif non-connexion sur un système Debian comme Ubuntu /, le shell lit tout d' abord /etc/bash.bashrcet puis lit ~/.bashrc.

La raison qui /etc/bash.bashrcn'apparaît pas dans la documentation bash normale (comme ici ou ici ) est qu'il s'agit d'une fonctionnalité ajoutée par Debian et adoptée par Ubuntu. Comme l'explique Debian ( readme.debian ):

  1. Qu'est-ce que /etc/bash.bashrc? Cela ne semble pas être documenté.

    La version Debian de bash est compilée avec une option spéciale ( -DSYS_BASHRC) qui fait lire bash /etc/bash.bashrcavant ~/.bashrc pour les shells interactifs sans connexion. Donc, sur les systèmes Debian, /etc/bash.bashrc est d' ~/.bashrcen /etc/profileest à ~/.bash_profile.

Donc, /etc/bash.bashrc est documenté dans les pages de manuel Debian et Ubuntu mais pas dans les pages de manuel d'autres distributions qui ne prennent pas en charge cette fonctionnalité.

John1024
la source
1
Il convient de noter que l'utilisation se répand. Git bash, basé sur MSYS2, a également cette convention. Il semble avoir été adopté pour établir des adaptations / configurations / normes au niveau du système.
BenPen
4

Fichier d'initialisation à l'échelle du système /etc/bash.bashrc et le fichier d'initialisation personnel standard ~/.bashrc si le shell est interactif.

Iliyas Mansons
la source