Odpowiedzi:
/etc/bash.bashrc
dotyczy wszystkich użytkowników
~/.bashrc
dotyczy tylko użytkownika, w którym jest to folder domowy.
readonly
w /etc/bash.bashrc
: \
Zgodnie z dokumentacją GNU Bash :
Gdy Bash jest wywoływany jako interaktywna powłoka logowania lub jako nieinteraktywna powłoka z opcją --login, najpierw czyta i wykonuje polecenia z pliku / etc / profile , jeśli plik ten istnieje. Po odczytaniu tego pliku szuka ~ / .bash_profile , ~ / .bash_login i ~ / .profile, w tej kolejności, i odczytuje i wykonuje polecenia z pierwszego, który istnieje i jest możliwy do odczytu. Opcji --noprofile można użyć, gdy powłoka zostanie uruchomiona w celu zahamowania tego zachowania.
Wywoływany jako interaktywna powłoka niezalogowana Po uruchomieniu interaktywnej powłoki, która nie jest powłoką logowania, Bash odczytuje i wykonuje polecenia z ~ / .bashrc , jeśli ten plik istnieje. Można temu zapobiec, używając opcji --norc. Opcja --rcfile pliku zmusi Bash do odczytu i wykonywania poleceń z pliku zamiast ~ / .bashrc.
Zwykle plik ~ / .bash_profile zawiera wiersz
if [-f ~ / .bashrc]; następnie . ~ / .bashrc; fi
po (lub przed) inicjalizacjach związanych z logowaniem.
Do osobistych preferencji i osobistych skryptów lub funkcji bash należy użyć .bashrc (aliasy, funkcje dodane do bash ...)
Chwila, w której chcesz udostępnić coś wszystkim użytkownikom (lub większości użytkowników) lub w celach ogólnych (ścieżka do wspólnych plików wykonywalnych, ścieżka do dokumentacji ...) umieść to w /etc/bash.bashrc
Powiedziałem większość użytkowników, ponieważ nawet powiedzmy, że określasz skrypt greetings.sh, który jest drukowany "Hello world!"
dla wszystkich użytkowników, ale użytkownik Pepe chce zamiast niego użyć skryptu greetings.sh, który drukuje "Hola el mundo!"
. Może modyfikować swoją ścieżkę w swoim .bashrc, aby wskazywał na swój skrypt zamiast twojego. Innymi słowy, użytkownik może zawsze dostosować swoją sesję w .bashrc do tego, czego chce.