Odpowiedzi:
.bashrc
Plik jest skrypt, który jest wykonywany gdy nowy terminal jest sesja rozpoczęła się w trybie interaktywnym . Dzieje się tak, gdy otwierasz nowe okno terminala, naciskając Ctrl+ Alt+ Tlub po prostu otwierając nową kartę terminala.
Natomiast sesja terminalowa w trybie logowania poprosi o podanie nazwy użytkownika i hasła oraz wykonanie ~/.bash_profile
skryptu. Tak dzieje się na przykład podczas logowania do systemu zdalnego za pośrednictwem SSH.
Sam .bashrc
plik zawiera szereg konfiguracji sesji terminalowej. Obejmuje to konfigurowanie lub włączanie: kolorowanie, uzupełnianie, historię powłoki, aliasy poleceń i więcej. .bashrc
Plik rozprowadzany z Ubuntu jest dobrze skomentowany i będzie w stanie zrozumieć większość tego, co robi po prostu czytać.
Możesz dostosować .bashrc
do swoich upodobań. Tutaj możesz uzyskać przykład z wieloma dodatkowymi funkcjami.
Pytanie o superużytkownika - Co to jest plik .bashrc? autor: @pineapple, na który odpowiedział @DigitalRoss
Właściwie to właśnie
bash
czyta.bashrc
(i/etc/bash.bashrc
). Istnieje wiele różnych powłok.Strona podręcznika bash (autorstwa Briana Foxa i Cheta Rameya; strona informacyjna „Pliki startowe Bash” ) to autorytatywne odniesienie:
Po uruchomieniu interaktywnej powłoki, która nie jest powłoką logowania, bash czyta i wykonuje polecenia z
~/.bashrc
, jeśli plik istnieje. Można temu zapobiec, używając tej--norc
opcji. Opcja--rcfile
pliku zmusi bash do odczytu i wykonywania poleceń z pliku zamiast~/.bashrc
.Gdy bash jest uruchamiany nieinteraktywnie, na przykład w celu uruchomienia skryptu powłoki szuka zmiennej
BASH_ENV
w środowisku, rozszerza jej wartość, jeśli się tam pojawia, i wykorzystuje rozszerzoną wartość jako nazwę pliku do odczytu i wykonania. Bash zachowuje się tak, jakby wykonano następujące polecenie:if [ -n "$BASH_ENV" ]; then . "$BASH_ENV"; fi
ale wartość
PATH
zmiennej nie jest używana do wyszukiwania nazwy pliku.Plik to tylko polecenia powłoki. Zwykle służy do zmiany podpowiedzi, ustawiania zmiennych środowiskowych i definiowania procedur powłoki. Plik ten
.profile
jest tradycyjnie wykorzystywany do tego celu, alebash
ma tak wiele rozszerzeń, że potrzebuje własnego pliku startowego dla użytkowników, którzy chcą umieścić bashisms w plikach startowych.„ Brak powłoki logowania ” oznacza takie rzeczy, jak uruchamianie skryptów i zwykle okna terminali uruchamiane przez menedżerów okien. Czasami konfiguruję systemy * nix, aby mieć
.bashrc
iBASH_ENV
po prostu źródło.profile
. Dopóki nie zbłądzisz poza poleceniami powłoki POSIX, będziesz mieć taką samą inicjalizację w dowolnej powłoce.Jest to szczególnie cenne, kiedy
sh
jest naprawdębash
, co czasem się zdarza. Aby to zrobić, użyj:. .profile
Jednym z powodów, dla których wszystko jest tak złożone, jest to, że czasami ludzie umieszczają rzeczy, które produkują dane wyjściowe w plikach startowych powłoki lub bezwarunkowo ustawiają monity. Powoduje to wiele problemów podczas uruchamiania programów powłoki i poleceń backtick w językach, nie wspominając o
system(3)
programach C.bash
Myślę, że sposób uruchamiania ma jeden plik, w którym ustawienie danych wyjściowych i monitów jest OK, i jeden plik, w którym nie ma. Tradycyjnie przeprowadzany byłby test czasu wykonywania w celu rozróżnienia interaktywności, na przykład sprawdzanie, czy ustawiony jest monit.
.bashrc
jest jednym z wielu plików konfiguracyjnych bash. Zobacz oficjalną dokumentację dotyczącą plików startowych Bash .