Pliki uruchomieniowe środowiska bash
From WikiDoc
Contents |
Wstęp
W powłoce bash można zastosować kilka różnych plików uruchomieniowych.
Zaraz po instalacji KateOS jako domyślny działa plik /etc/profile, który korzysta także z plików umieszczonych w katalogu /etc/profile.d. Do własnej konfiguracji środowiska możemy użyć plików .bash_profile, .bashrc i .profile, które trzeba umieścić w katalogu domowym użytkownika (czyli np. "/home/twój_login/.bashrc").
Jako pierwszy jest zawsze odczytywany plik /etc/profile i raczej nie ma potrzeby umieszczania w nim zmian. Następnie czytane są (jeśli istnieją) pliki .bash_profile albo .bashrc z katalogu domowego. To co w nich ustawimy jest nadrzędne w stosunku do ustawień z pliku /etc/profile. Czyli gdy ustawimy w pliku .bashrc na przykład swój własny znak zachęty (PS1), to będzie on użyty w miejsce domyślnego systemowego.
Omówienie plików uruchomieniowych
Najpierw o pliku .bash_profile
Ten plik jest zawsze czytany po wczytaniu pliku /etc/profile, wtedy gdy logujemy się na konto w trybie tekstowym. Ale nie jest czytany, gdy w trybie graficznym (pod X-ami) otworzymy sobie jakiś terminal. Jeśli w każdym wypadku chcemy mieć tak samo skonfigurowane środowisko pracy, lepiej umieścić większość własnej konfiguracji środowiska bash w pliku .bashrc w katalogu domowym. W pliku .bash_profile umieścimy tylko odwołanie do pliku .bashrc. Czyli jeśli powłoka odczytuje tylko plik .bash_profile (np. gdy logujemy się w trybie tekstowym) to i tak zostanie odczytany plik .bashrc. Robimy to wpisując w pliku .bash_profile
. ~/.bashrc
czyli kropka, spacja i scieżka do pliku do wczytania (znak ~ oznacza katalog domowy użytkownika).
Plik .bash_logout
Ten plik spełnia rolę przeciwną do pliku .bash_profile. Polecenia w nim zawarte są wykonywane gdy wylogowujemy się z konta.
Plik .bashrc
Ten plik jest czytany gdy uruchamiamy terminal w środowisku graficznym. Nie jest wtedy czytany plik .bash_profile i dla tego lepiej w .bashrc umieścić konfigurację. Jest możliwa zmiana domyślnych ustawień systemowych z pliku /etc/profile takiech jak: znak zachęty, ścieżki poleceń, zmienne środowiskowe. Można też dodać własne aliasy.
Plik .profile
Większość aliasów dobrze jest umieścić w .bashrc, ale są aliasy które przydają się w MidnightCommanderze. Umieszczamy je więc w pliku .profile, a ten można albo;
- podlinkować za pomocą komendy:
ln -s ~/.profile ~/.mc/bashrc
albo
- utworzyć plik ~/.mc/bashrc i dodać w nim odwołanie do pliku .profile za pomocą polecenia:
echo '. ~/.profile' >> ~/.mc/bashrc
Przykłady
Poniżej są przykładowe pliki stworzone wg. tych zasad. Powinny działać dobrze w systemach KateOS i Slackware.
Przykładowy .bash_profile
## Ten plik jest zawsze czytany, gdy logujemy się na konto ## w trybie tekstowym. Ale nie jest czytany, gdy w trybie ## graficznym (pod X-ami) otworzymy sobie jakiś terminal. ## Jesli chcesz wiedzieć, kiedy jest czytany ten plik ## skasuj znak # z początku następnej linijki. ## W zmiennej $0 jest przechowywana nazwa pliku. # echo "Czytam plik $0" ## Polecenie w następnej linijce powoduje, że wykonywane są ## polecenia w pliku .bashrc w katalogu domowym, który jest ## czytany, kiedy otwieramy terminal pod X-ami. if [ -f ~/.bashrc ]; then . ~/.bashrc fi ## Jeśli chcesz, by jakieś polecenia były wykonywane tylko ## gdy się logujesz, umieść je poniżej. Przykładowe powitanie: echo "Witaj $USER. Dziś jest `date +%A %e %B`." echo "Przyjemnej pracy w systemie Kate OS!"
W zasadzie wystarczą tylko linijka ". ~/.bashrc". Jednak chyba nadmiar komentarzy nie zaszkodzi, a niektórym pomoże :-).
Przykładowy .bash_logout
## Tu krótko. ## Po prostu oczyścimy ekran zanim się wylogujemy. clear
Przykładowy .bashrc
## W tym pliku umieścimy większość konfiguracji środowiska. ## Linie po znaku # są ignorowane przy wykonywani pliku. ## Jeśli chcesz wiedzieć, kiedy wczytywany jest ten plik ## usuń znak # z początku następnej linijki. # echo "Czytam plik $0" ## Na początek ustawienia języka. # export LC_ALL=pl_PL export LANG=pl_PL export LC_COLLATE=C ## Poprawki do /etc/profile: export LESS="$LESS -Q" # Wyłacz sygnał dźwiękowy (bip) podczas używania less. export PATH="$PATH:~/bin" # Dodaje katalog $HOME/bin do ścieżki wyszukiwania export MANPATH="/usr/man/pl:$MANPATH" # Najpierw sprawdzi czy mamy jakiś polski manual. ## Zmienna PS1 odpowiada za wygląd znaku zachęty ## Objaśnienie niektórych przykładowych znaczników: ## \u nazwa użytkownika \A czas w formacie HH:MM ## \w scieżka doaktualnego katalogu \$ znak $ jeżeli zwykły użytkownik # jeśli root ## \d aktualna data \! numer polecenia w historii poleceń ## Uwaga!! Lepiej nie stosować znaków: ( ) = & < > ## Przykładowy znak zaczęty: export PS1='\u \A \w \$ ' ## Albo coś dla początkujących :-D # export PS1="Wpisz polecenie i naciśnij ENTER: " ## Aliasy ułatwiające życie. ## Aliasy mogą być skrótem uruchamiającym często wpisywane polecania: alias S=startx alias c=clear alias e=elvis alias l=less ## Albo sekwencją poleceń ## Wtedy polecenia po znaku równości trzeba umieścić w pojedynczych cudzysłowach: alias qq='echo "Wylogowanie ..." ; clear ; logout' ## Mogą być też poleceniem wraz z jego potrzebnymi nam opcjami. ## Np. prawidłowe wyswietlanie polskich znaków w lynx. alias lynx='lynx -display_charset=iso-8859-2' ## Ilość wolnego miejsca na zamontowanych systemach plików ## w jednostakach (łatwiej) czytelnych dla ludzi. alias df='df -h' ## Aliasy dla polecenia ls. alias lsa="ls --color=auto -aF" ## Aliasy do poleceń np. mount i umount umieszczamy ## w pliku .profile i wydajemy polecenie: ## echo '. ~/.profile' >> ~/.mc/bashrc ## Wtedy będą działały również pod MidnightCommanderem. if [ -f ~/.profile ]; then . ~/.profile fi
Przykładowy .profile
## Tu umieszczamy aliasy, które działaja też w mc: ## Najkrótsze z mozliwych, bo nie lubię pisać ;-). alias C='mount /dev/cdrom' alias CC='umount /dev/cdrom' alias F='mount /dev/fd0' alias FF='umount /dev/fd0' ## Odmontowywanie na siłę: # alias CCC='umount -f -l /dev/cdrom' # alias FFF='umount -f -l /dev/fd0' ## Albo tak: # alias CCC='echo "0" > /proc/sys/dev/cdrom/lock ; umount -f -l /dev/cdrom ; eject /dev/cdrom'
Podsumowanie
Wszystkie te pliki po dostosowaniu do własnych potrzeb i upodobań można umieścić w katalogu /etc/skel (z konta roota). Wszystkie pliki jakie znajdują się w katalogu /etc/skel, są automatycznie umieszczane w katalogu domowym każdego nowo utworzonego użykownika. W taki sposób nowy użytkownik ma wstępnie skonfigurowane środowisko pracy.
Podaję też pomocne polecenia:
set | less
wypisuje nazwy i wartości przypisane do wszystkich zmiennych środowiskowych,
alias
wypisuje wszystkie zdefiniowane aliasy.
Poza tym oczywiście:
man bash
lub
info bash

