Nie jestem zwolennikiem Linuksa i mam następujące wątpliwości po samouczku.
Muszę zmodyfikować bashrc
plik. Jakie ustawienia są zawarte w tym pliku? Myślę, że coś dotyczyło środowiska powłoki bash, ale nie jestem tego taki pewien.
Muszę wstawić ten wiersz:
export PATH=$HOME/.local/bin:$HOME/.local/usr/bin:$PATH
Co dokładnie robi ta linia?
Myślę, że to export
oświadczenie służy do utworzenia nowej zmiennej udostępniającej ją dla innego programu.
Ale czym dokładnie jest ta linia? Czy PATH
nazwa zmiennej, którą definiuję? Co to jest $HOME
?
Co oznacza :
symbol między PATH=$HOME/.local/bin
a $HOME/.local/usr/bin
i $PATH
sekcji w poprzedniej wypowiedzi?
Co dokładnie oznacza to wyrażenie?
command-line
bash
environment-variables
bashrc
AndreaNobili
źródło
źródło
PATH
modyfikacje są już wykonywane w~/.profile
pliku, więc wykonywanie podobnych czynności jest trochę niespójne~/.bashrc
. Lepiej IMO zmodyfikować kod już w~/.profile
razie potrzeby. Obecnie domyślny~/.profile
plik zawiera tę linię:PATH="$HOME/bin:$HOME/.local/bin:$PATH"
~/.bashrc
,~/.profile
jest wchłaniany przez menedżera wyświetlania, więc tylko zmienne ustalane przez~/.profile
dostępne są podczas uruchamiania programów ze środowiska graficznego. Dzieje się to wcześnie, więc proces sesji powinien być w porządku.Odpowiedzi:
Podsumowując wszystko wymienione w tym pytaniu,
export
częśćTe
export
środki linia, która zmienną zadeklarować, że po to będzie dostępne dla procesów potomnych. Innymi słowy, procesy będą mogły uzyskać dostęp do zmiennej zadeklarowanej poexport
słowie kluczowym przez środowisko powłoki. Tak więc, jeśli zrobiłeś coś podobnego,export FOO="BAR"
a następnie pozyskałeś zmiany w środowisku powłoki, możesz wpisać$FOO
i pobraćBAR
.PATH
częśćLinia ścieżki jest taka, jak powiedziałeś: deklaruje zmienną nazwaną
PATH
dla środowiska powłoki. W środowisku bashPATH
ma specjalny cel polegający na określeniu, gdzie komputer szuka programów. Umożliwia to wpisywanie niestandardowych poleceń dla skryptów bez wpisywania pełnego katalogu. Zauważ, że PATH jest domyślnie zaznaczony do eksportu, więc ten wiersz nie musi być przepisywany. Ale to nie boli.$HOME
WPATH
zmiennejNa początku ścieżki, która jest przypisana do
PATH
zmiennej,$HOME
jest deklarowana. Oznacza to, że komputer właściwie pobierze zapisaną wartośćHOME
i skopiuje ją przed resztą wiersza podczas czytania.:
Pomiędzy obu ścieżekJest
:
to odpowiednik przecinka w zdaniach. Po prostu dzieli trzy katalogi. Bez tych trzech katalogów konsola nie rozpoznałaby otrzymanych poleceń. Te trzy miejsca to trzy katalogi, które są najczęściej używane do przechowywania skryptów / plików poleceń i dlatego powinny być dostępne dla terminala bez konieczności zapisywania pełnej ścieżki do pliku.źródło
PATH
Zmienna pozwala bash wiedzieć gdzie szukać programów wykonywalnych, więc jeśli masz jakiś inny skrypt lub plik wykonywalny w$HOME/.local/bin
, modyfikacjaPATH
pozwoli wpisać i uruchomić ten plik podobnie jak zrobić zls
lubdf
.export
oznacza tylko udostępnienie tejPATH
zmiennej także dla innych programów uruchamianych z bash.Jeśli chodzi o
:
to, to tylko separator dla każdego katalogu. To jest to samo, co przecinek na liście słów, nic więcej.źródło