Pliki uruchomieniowe środowiska bash

From WikiDoc

Jump to: navigation, search

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
Personal tools