Qual è la differenza tra .bashrc e /etc/bash.bashrc?


14

.bashrc e / etc / bashrc

Qual è la differenza tra /etc/bash.bashrce ~/.bashrc?


Non vedo da /etc/bashrcnessuna parte.
mikewhatever,

2
Vedi la sezione manpage di bash FILES.
Ciro,

1
@mikewhatever, puoi trovare /etc/bash.bashrc.
Iliyas Mansons,

@Cyrus Ho controllato la sezione FILES della pagina man e "bash.bashrc" non appare lì, appare solo "~ / .bashrc". Potresti fornire un link alla pagina man che stavi guardando? Stavo guardando Bash Man Page
WinEunuuchs2Unix il

1
@Cyrus, ho trovato la risposta dal link che hai condiviso!
Iliyas Mansons,

Risposte:


24

Quando bash inizializza una shell bash interattiva senza accesso su un sistema simile a Debian / Ubuntu, la shell prima legge /etc/bash.bashrce poi legge ~/.bashrc.

Il motivo che /etc/bash.bashrcnon appare nella normale documentazione di bash (come qui o qui ) è che è una funzionalità aggiunta da Debian e adottata da Ubuntu. Come spiega Debian ( readme.debian ):

  1. Che cos'è /etc/bash.bashrc? Non sembra essere documentato.

    La versione Debian di bash è compilata con un'opzione speciale ( -DSYS_BASHRC) che fa leggere /etc/bash.bashrcprima bash ~/.bashrc per le shell interattive senza login. Quindi, sui sistemi Debian, /etc/bash.bashrcè ~/.bashrccome /etc/profileè ~/.bash_profile.

Pertanto, /etc/bash.bashrcè documentato nelle pagine man di Debian e Ubuntu ma non nelle pagine man di altre distribuzioni che non supportano questa funzione.


1
Vale la pena notare che l'utilizzo si sta diffondendo. Anche Git bash, basato su MSYS2, ha questa convenzione. Sembra essere adottato per stabilire adattamenti / configurazioni / standard a livello di sistema.
BenPen,

4

File di inizializzazione a livello di sistema /etc/bash.bashrc e file di inizializzazione personale standard ~/.bashrc se la shell è interattiva.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.