Profile, bashrc, alias

A MathWikiből
(Változatok közti eltérés)
(Egy példa '''.profile''' (vagy '''.bash''') állomány)
(A '''.profile''' és '''.bashrc''' állományok)
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 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.
+
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''' vagy az '''xterm''' parancs begépelésével. Ez utóbbiakhoz 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 ==

A lap 2006. december 10., 20:54-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 vagy az xterm parancs begépelésével. Ez utóbbiakhoz 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 "//" és a ">" közötti '~' jelentése: jelenleg éppen a HOME könyvtárunkban vagyunk.)
Mivel az egyszer már praktikusnak talált promptot általában szeretnénk minden bejelentkezésünk idején használni, célszerű a PS1 változó módosítását is a .profile-ban elhelyezni.

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á.

A környezeti változók módosításához hasonlóan, az alias parancsot is többnyire a .profile állományban célszerű alkalmazni.

Egy példa .profile (vagy .bashrc) á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'
Személyes eszközök