Profile, bashrc, alias

A MathWikiből
(Változatok közti eltérés)
5. sor: 5. sor:
 
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:
 
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'''
+
'''$ export sajat_valtozom=valami'''
  
 
Az eredményt pedig az alábbi paranccsal ellenőrizhetjük:
 
Az eredményt pedig az alábbi paranccsal ellenőrizhetjük:
  
  '''$ echo $sajat_valtozom
+
'''$ echo $sajat_valtozom
 
  valami
 
  valami
  
19. sor: 19. sor:
 
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:
  
  '''$ echo $PATH'''
+
'''$ echo $PATH'''
  /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: 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:
 
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'''
  
 
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.
30. sor: 30. sor:
 
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:
 
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.
 
Ha a parancsot a parancssorból adtuk ki, annak hatását azonnal le is mérhetjük.
39. sor: 39. sor:
 
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
 
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"'''
  
 
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á.
 
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 lap 2006. december 10., 20:25-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'
Személyes eszközök