Risposte:
/etc/bash.bashrc
si applica a tutti gli utenti
~/.bashrc
si applica solo all'utente in cui si trova la cartella principale.
readonly
in /etc/bash.bashrc
: \
Secondo la documentazione GNU Bash :
Quando Bash viene invocato come shell di login interattiva o come shell non interattiva con l'opzione --login, legge ed esegue prima i comandi dal file / etc / profile , se quel file esiste. Dopo aver letto quel file, cerca ~ / .bash_profile , ~ / .bash_login e ~ / .profile, in quell'ordine, e legge ed esegue i comandi dal primo che esiste ed è leggibile. L'opzione --noprofile può essere usata all'avvio della shell per inibire questo comportamento.
Richiamato come shell interattiva non di accesso Quando viene avviata una shell interattiva che non è una shell di accesso, Bash legge ed esegue i comandi da ~ / .bashrc , se quel file esiste. Questo può essere inibito usando l'opzione --norc. L'opzione --rcfile forzerà Bash a leggere ed eseguire comandi dal file invece di ~ / .bashrc.
Quindi, in genere, il tuo ~ / .bash_profile contiene la linea
if [-f ~ / .bashrc]; poi . ~ / .Bashrc; fi
dopo (o prima) qualsiasi inizializzazione specifica per il login.
Per le tue preferenze personali e script personali o funzioni bash dovresti usare .bashrc (alias, Funzioni aggiunte per bash ...)
Nel momento in cui desideri condividere qualcosa con tutti gli utenti (o la maggior parte degli utenti) o per cose di uso generale (percorso per eseguibili condivisi, percorso per la documentazione ...) inseriscilo in /etc/bash.bashrc
Ho detto la maggior parte degli utenti perché anche diciamo che si specifica uno script greetings.sh che stampa "Hello world!"
per tutti gli utenti, ma l'utente Pepe vuole usare invece lo script greetings.sh che stampa "Hola el mundo!"
. Può modificare il suo percorso nel suo .bashrc per indicare la sua sceneggiatura anziché la tua. In altre parole, l'utente può sempre personalizzare la propria sessione in .bashrc in base a ciò che desidera.