Przeczytałem w kilku miejscach, w których PATH
jest ustawiony plik /etc/profile
lub .profile
plik w katalogu domowym.
Czy to jedyne miejsca, w których ścieżka jest ustawiona? Chcę to lepiej zrozumieć.
W /etc/profile
pliku, jak mówi następujący komentarz "system-wide .profile file for the Bourne shell"
. Czy to oznacza, że pliki profilów są głównymi plikami konfiguracyjnymi dla bash?
W tym pliku w ogóle nie widzę PATH
var. W .profile
pliku w katalogu domowym znajduje się następujący wiersz:
PATH="$HOME/bin:$PATH"
To zresetuje PATH
się po wyglądzie, ponieważ łączy on już ustawiony $PATH
ciąg z $HOME/bin:
prawdą? Ale jeśli etc/profile
i ~/.profile
są tylko pliki ustawień PATH
, gdzie jest $PATH
pochodzących z w tej linii kodu, jeśli to nie jest zdefiniowane w /etc/profile
?
Czy ktoś doświadczony może podać obszerne i szczegółowe wyjaśnienie PATH
zmiennej? Dzięki!
źródło
/etc/bashrc
. Określa to, w jaki sposób uruchamiany jest BASH, który powinien obejmować wszystkie początkowe zmienne środowiskowe. W moim systemie/etc/bashrc
czyta z,/etc/profile.d
ale wygląda na to, że masz tylko 3 pliki,/etc/profile.d
więc Twoja dystrybucja może robić to inaczej.Aby dodać do innych odpowiedzi:
bash
ustawiPATH
stałą wartość domyślną, jeśli nie jest ustawiona w środowisku. Na komputerze z Ubuntu Server 16.04.2 otrzymuję:Możemy sprawdzić, czy ta wartość jest rzeczywiście zakodowana na stałe i nie jest odczytywana ze środowiska lub jakiegoś pliku, za pomocą
strings
narzędzia:Otrzymuję jednak inny wynik na moim komputerze Arch Linux:
Wygląda więc na to, że ta domyślna wartość jest wybierana w momencie
bash
budowania pliku binarnego, co zależy od używanego systemu operacyjnego / dystrybucji.źródło
Rzeczy, których nie widzę:
.profile
itp. Są kopiowane podczas tworzenia kontaCo do Kena Thompsona, możesz być zaskoczony jego: „Poglądy na Linuksie” .
źródło