<Poprzedni | Spis treści | Następne>
Co znajduje się w pliku startowym?
Jeśli zajrzymy do wnętrza typowego .bash_profil (z systemu CentOS 6), wygląda to mniej więcej tak:
# .bash_profile
# Pobierz aliasy i funkcje if [ -f ~/.bashrc ]; then
. ~ / .bashrc
fi
# Środowisko specyficzne dla użytkownika i programy startowe PATH=$PATH:$HOME/bin
eksportuj PATH
# .bash_profile
# Pobierz aliasy i funkcje if [ -f ~/.bashrc ]; then
. ~ / .bashrc
fi
# Środowisko specyficzne dla użytkownika i programy startowe PATH=$PATH:$HOME/bin
eksportuj PATH
Linie zaczynające się od znaku „#” są komentarze i nie są odczytywane przez powłokę. Są tam dla czytelności dla człowieka. Pierwsza ciekawa rzecz pojawia się w czwartej linii, z następującym kodem:
jeśli [ -f ~/.bashrc ]; wtedy
jeśli [ -f ~/.bashrc ]; wtedy
Jak powstaje środowisko?
. ~ / .bashrc
fi
. ~ / .bashrc
fi
To się nazywa jeśli polecenie złożone, o czym szczegółowo opowiemy, gdy przejdziemy do skryptów powłoki w Części 4., ale na razie podajemy tłumaczenie:
Jeśli plik "~/.bashrc" istnieje, należy odczytać plik "~/.bashrc".
Jeśli plik "~/.bashrc" istnieje, należy odczytać plik "~/.bashrc".
Możemy zobaczyć, że ten fragment kodu pokazuje, w jaki sposób powłoka logowania pobiera zawartość .bashrcNastępna rzecz w naszym pliku startowym ma związek z PATH zmienna.
Czy zastanawiałeś się kiedyś, jak powłoka wie, gdzie znaleźć polecenia, gdy wpisujemy je w wierszu poleceń? Na przykład, gdy wpisujemy lspowłoka nie przeszukuje całego komputera w celu znalezienia /bin/ls (pełna ścieżka dostępu ls polecenie), zamiast tego przeszukuje listę katalogów, które znajdują się w PATH zmienna.
PATH zmienna jest często (ale nie zawsze, w zależności od rozkładu) ustalana przez
Plik startowy /etc/profile i ten kod:
ŚCIEŻKA=$PATH:$HOME/bin
ŚCIEŻKA=$PATH:$HOME/bin
Zmienna PATH jest modyfikowana, aby dodać katalog $HOME/bin na końcu listy. Jest to przykład rozszerzenia parametrów, o którym mówiliśmy w rozdziale 7. Aby zademonstrować, jak to działa, spróbuj wykonać następujące czynności:
[ja@linuxbox ~]$ foo="To jest jakieś"
[ja@linuxbox ~]$ powtórz $foo
To jest coś
[ja@linuxbox ~]$ foo=$foo"tekst."
[ja@linuxbox ~]$ powtórz $foo
To jest tekst.
[ja@linuxbox ~]$ foo="To jest jakieś"
[ja@linuxbox ~]$ powtórz $foo
To jest coś
[ja@linuxbox ~]$ foo=$foo"tekst."
[ja@linuxbox ~]$ powtórz $foo
To jest tekst.
Stosując tę technikę możemy dołączyć tekst na końcu zawartości zmiennej.
Dodając ciąg $HOME/kosz do końca PATH zawartość zmiennej, katalog $HOME/kosz jest dodawany do listy przeszukiwanych katalogów po wprowadzeniu polecenia. Oznacza to, że gdy chcemy utworzyć katalog w naszym katalogu domowym do przechowywania naszych prywatnych programów, powłoka jest gotowa nas obsłużyć. Wszystko, co musimy zrobić, to wywołać
it koszi jesteśmy gotowi do drogi.
Note:Wiele dystrybucji zapewnia tę opcję PATH ustawienie domyślne. Dystrybucje oparte na Debianie, takie jak Ubuntu, testują istnienie ~/kosz katalogu podczas logowania i dynamicznie dodawać go do PATH zmienna jeśli katalog został znaleziony.
Na koniec mamy:
eksportuj PATH
eksportuj PATH
eksport polecenie nakazuje powłoce, aby utworzyła zawartość PATH dostępne dla procesów potomnych tej powłoki.