Profile, bashrc, alias
1. sor: | 1. sor: | ||
== A '''.profile''' és '''.bashrc''' állományok == | == A '''.profile''' és '''.bashrc''' állományok == | ||
− | A '''bash''' shell indulása során először ellenőrzi, hogy bizonyos fájlok léteznek-e, és ha igen, akkor a bennük lévő parancsokat értelmezi és végrehajtja. Ezen fájlok között számunkra | + | A '''bash''' shell indulása során először ellenőrzi, hogy bizonyos fájlok léteznek-e, és ha igen, akkor a bennük lévő parancsokat értelmezi és végrehajtja. Ezen fájlok között számunkra a két legfontosabb a HOME könyvtárunkban elhelyezkedő '''.profile''' és '''.bashrc''', amelyek segítségével személyes igényeink szerint tudjuk módosítani a '''bash''' parancsértelmező viselkedését. A '''.profile'''-ban elhelyezett parancsok csak az ú.n. '''login shell'''-ekben, míg a '''.bashrc'''-ben elhelyezettek csak a '''nem-login shell'''-ekben futnak le a parancsértelmező indítása során. '''Login shell'''-t indítunk pl. egy '''ssh'''-s vagy '''putty'''-os bejelentkezés alkalmával, és '''nem-login shell'''-t, indíthatunk a '''bash''' parancs begépelésével. Ez utóbbihoz persze előbb szükségünk van egy már működő parancsértelmezőre -- tipikusan egy '''login shell'''-re. |
== Környezeti változók módosítása, beállítása == | == Környezeti változók módosítása, beállítása == | ||
10. sor: | 10. sor: | ||
'''$ echo $sajat_valtozom | '''$ echo $sajat_valtozom | ||
+ | valami | ||
(A shell változóira való hivatkozás módja: $változó-név.) | (A shell változóira való hivatkozás módja: $változó-név.) | ||
== A '''bash''' által használt néhány fontosabb környezeti változó== | == A '''bash''' által használt néhány fontosabb környezeti változó== | ||
− | A '''HOME''' nevű változó tartalmazza a saját HOME könyvtáruk elérési útját a teljes fájlrendszeren belül. (Ezt csak nagyon kivételes esetben célszerű módosítanunk.) | + | A '''HOME''' nevű változó tartalmazza a saját HOME könyvtáruk elérési útját a teljes fájlrendszeren belül. (Ezt csak nagyon kivételes esetben lehet célszerű módosítanunk.) |
A '''PATH''' nevű változó tartalmazza mindazon könyvtárak nevét, melyekben a '''bash''' keresni fogja a futtatható programokat. Ez a lista általában csak az operációs rendszer által nyújtott legfontosabb parancsokat tartalmazó könyvtárakra terjed ki: | A '''PATH''' nevű változó tartalmazza mindazon könyvtárak nevét, melyekben a '''bash''' keresni fogja a futtatható programokat. Ez a lista általában csak az operációs rendszer által nyújtott legfontosabb parancsokat tartalmazó könyvtárakra terjed ki: | ||
21. sor: | 22. sor: | ||
/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin | /usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin | ||
− | Ha viszont szeretnénk a saját programjainkat is ugyanolyan egyszerűen elindítani (az elérési útvonal megadása nélkül), mint a rendszerparancsokat, akkor célszerű lehet ennek a változónak a módosítása. Többnyire két ''könytárral'' célszerű kiegészíteni az alapértelmezett listát: | + | Ha viszont szeretnénk a saját programjainkat is ugyanolyan egyszerűen elindítani (az elérési útvonal megadása nélkül), mint a rendszerparancsokat, akkor célszerű lehet ennek a változónak a módosítása. Többnyire két ''könytárral'' célszerű kiegészíteni az alapértelmezett listát: az aktuális munkakönyvtárral (.) ill. ha sok saját progrtamunk van, akkor az azokat tartalmazó pl. a közvetlenül a HOME könyvtárunk alatti ''bin'' könvtárral: |
'''$ export PATH=$PATH:.:$HOME/bin''' | '''$ export PATH=$PATH:.:$HOME/bin''' | ||
27. sor: | 28. sor: | ||
Persze, ha ez a módosítás valóban indokolt, akkor az is nagyon valószínű, hogy erre minden egyes bejelentkezésünk után szükségünk lesz. Ekkor a parancsnak a minden alkalommal való újbóli begépelése helyett célszerűbb azt elhelyezni a '''.profile'' állományban. | Persze, ha ez a módosítás valóban indokolt, akkor az is nagyon valószínű, hogy erre minden egyes bejelentkezésünk után szükségünk lesz. Ekkor a parancsnak a minden alkalommal való újbóli begépelése helyett célszerűbb azt elhelyezni a '''.profile'' állományban. | ||
− | A '''PS1''' változó segítségével a promptunkat szabályozhatjuk. Az ''egyszerű szövegen'' túlmenően néhány speciális dolgot is elhelyezhetünk a promptunkban. Pl. praktikus lehet a promptban elhelyezni az aktuális könyvtárat (\w), a gép nevét (\H),esetleg az | + | A '''PS1''' változó segítségével a promptunkat szabályozhatjuk. Az ''egyszerű szövegen'' túlmenően néhány speciális dolgot is elhelyezhetünk a promptunkban. Pl. praktikus lehet a promptban elhelyezni az aktuális könyvtárat (\w), a gép nevét (\H),esetleg az időt (\t, \T, \@ vagy \A) vagy más egyéb dolgot, melyekről a '''man bash''' paranccsal kaphatunk bővebb információt. Egy lehetséges prompt beállító parancs: |
'''$ export PS1="\t \H//\w> "''' | '''$ export PS1="\t \H//\w> "''' | ||
− | |||
− | |||
− | |||
'''15:01:54 omnibus//~> ''' | '''15:01:54 omnibus//~> ''' | ||
− | + | Ha a parancsot a parancssorból adtuk ki, annak hatását azonnal le is mérhetjük. | |
+ | (A '~' jelentése a "//" és a ">" között: a '''HOME''' könyvtárunkban vagyunk.) | ||
== Az '''alias''' parancs == | == Az '''alias''' parancs == | ||
− | A '''bash''' parancsainak működését általában kapcsolók széles skálájával lehet módosítani. A számunkra fontos kombinációk minden alkalommal való | + | A '''bash''' parancsainak működését általában kapcsolók széles skálájával lehet módosítani. A számunkra fontos kombinációk minden alkalommal való begépelése helyett az '''alias''' parancs segítségével ú.n. beceneveket használhatunk. Pl az |
'''$ alias ll="ls -l"''' | '''$ alias ll="ls -l"''' | ||
46. sor: | 45. sor: | ||
== Egy példa '''.profile''' állomány== | == Egy példa '''.profile''' állomány== | ||
− | |||
export PATH=$PATH:.:$HOME/bin | export PATH=$PATH:.:$HOME/bin | ||
export PS1="\t \H//\w> " | export PS1="\t \H//\w> " | ||
55. sor: | 53. sor: | ||
alias euler="ssh euler.math.bme.hu" | alias euler="ssh euler.math.bme.hu" | ||
alias maple='cd $HOME/working; maple' | alias maple='cd $HOME/working; maple' | ||
− |
A lap 2006. december 10., 20:22-kori változata
Tartalomjegyzék |
A .profile és .bashrc állományok
A bash shell indulása során először ellenőrzi, hogy bizonyos fájlok léteznek-e, és ha igen, akkor a bennük lévő parancsokat értelmezi és végrehajtja. Ezen fájlok között számunkra a két legfontosabb a HOME könyvtárunkban elhelyezkedő .profile és .bashrc, amelyek segítségével személyes igényeink szerint tudjuk módosítani a bash parancsértelmező viselkedését. A .profile-ban elhelyezett parancsok csak az ú.n. login shell-ekben, míg a .bashrc-ben elhelyezettek csak a nem-login shell-ekben futnak le a parancsértelmező indítása során. Login shell-t indítunk pl. egy ssh-s vagy putty-os bejelentkezés alkalmával, és nem-login shell-t, indíthatunk a bash parancs begépelésével. Ez utóbbihoz persze előbb szükségünk van egy már működő parancsértelmezőre -- tipikusan egy login shell-re.
Környezeti változók módosítása, beállítása
A bash viselkedését sok u.n. köznyezeti változó befolyásolja különböző módokon. Ezeket a változókat az export parancs segítségével változtathatjuk meg, és az echo parancs segítségével ellenőrizhetjük értéküket. Pl. a sajat_valtozom nevű környezeti változót az alábbiak szerint módosíthatjuk:
$ export sajat_valtozom=valami
Az eredményt pedig az alábbi paranccsal ellenőrizhetjük:
$ echo $sajat_valtozom valami
(A shell változóira való hivatkozás módja: $változó-név.)
A bash által használt néhány fontosabb környezeti változó
A HOME nevű változó tartalmazza a saját HOME könyvtáruk elérési útját a teljes fájlrendszeren belül. (Ezt csak nagyon kivételes esetben lehet célszerű módosítanunk.)
A PATH nevű változó tartalmazza mindazon könyvtárak nevét, melyekben a bash keresni fogja a futtatható programokat. Ez a lista általában csak az operációs rendszer által nyújtott legfontosabb parancsokat tartalmazó könyvtárakra terjed ki:
$ echo $PATH /usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin
Ha viszont szeretnénk a saját programjainkat is ugyanolyan egyszerűen elindítani (az elérési útvonal megadása nélkül), mint a rendszerparancsokat, akkor célszerű lehet ennek a változónak a módosítása. Többnyire két könytárral célszerű kiegészíteni az alapértelmezett listát: az aktuális munkakönyvtárral (.) ill. ha sok saját progrtamunk van, akkor az azokat tartalmazó pl. a közvetlenül a HOME könyvtárunk alatti bin könvtárral:
$ export PATH=$PATH:.:$HOME/bin
Persze, ha ez a módosítás valóban indokolt, akkor az is nagyon valószínű, hogy erre minden egyes bejelentkezésünk után szükségünk lesz. Ekkor a parancsnak a minden alkalommal való újbóli begépelése helyett célszerűbb azt elhelyezni a '.profile állományban.
A PS1 változó segítségével a promptunkat szabályozhatjuk. Az egyszerű szövegen túlmenően néhány speciális dolgot is elhelyezhetünk a promptunkban. Pl. praktikus lehet a promptban elhelyezni az aktuális könyvtárat (\w), a gép nevét (\H),esetleg az időt (\t, \T, \@ vagy \A) vagy más egyéb dolgot, melyekről a man bash paranccsal kaphatunk bővebb információt. Egy lehetséges prompt beállító parancs:
$ export PS1="\t \H//\w> " 15:01:54 omnibus//~>
Ha a parancsot a parancssorból adtuk ki, annak hatását azonnal le is mérhetjük. (A '~' jelentése a "//" és a ">" között: a HOME könyvtárunkban vagyunk.)
Az alias parancs
A bash parancsainak működését általában kapcsolók széles skálájával lehet módosítani. A számunkra fontos kombinációk minden alkalommal való begépelése helyett az alias parancs segítségével ú.n. beceneveket használhatunk. Pl az
$ alias ll="ls -l"
parancsot követően a bash ismerni fogja az ll parancsot. Mindannyiszor, ha leírjuk, hogy ll a bash automatikusan átfordítja azt az ls -l paranccsá.
Egy példa .profile állomány
export PATH=$PATH:.:$HOME/bin export PS1="\t \H//\w> " alias ll="ls -l" alias la="ls -a" alias lla="ls -la" alias euler="ssh euler.math.bme.hu" alias maple='cd $HOME/working; maple'