[Lintulan etusivu] -> [Ohjeita] -> [bash -komentotulkin alustustiedostot]

Lintula

bash -komentotulkin alustustiedostot


Tällä sivulla on tietoja ja ohjeita Lintulassa käytettävän bash -komentotulkin alustustiedostoista.

bash -komentotulkki lukee käynnistyessään erilaisia alustustiedostoja riippuen käynnistystavasta. Mikäli komentotulkki käynnistyy sisäänkirjautumisen yhteydessä tai --login -parametrilla, komentotulkki käynnistyy niinsanotuksi login -komentotulkiksi. Muissa tapauksissa (esimerkiksi käynnistettäessä xterm -ikkunaan tms) komentotulkki käynnistyy ei-login -tilaan. Komentotulkki käynnistyy ei-login -tilaan esimerkiksi sftp- tai scp-sovelluksia käytettäessä, minkä takia ei-login tilaan käynnistyessään komentotulkki ei saa tulostaa mitään STDOUT tai STDERR-virtaan.

Järjestelmän yleisen alustustiedostot

Lintulan koneille on tehty bash -komentotulkin kanssa toimivat yleiset alustustiedostot, joiden avulla koneiden peruskäyttö onnistuu. Tiedostot generoidaan automaattisesti riippuen siitä, mitä ohjelmia koneille on asennettu. Näiden yleisten alustustiedostojen asettamia parametreja (esim PATH, MANPATH) ei ole syytä ylikirjoittaa, vaikka niitä muokkaisikin. Tämä on erityisen tärkeää PATH ja MANPATH -ympäristömuuttujien kanssa, koska Lintulan ympäristö on varsin monimutkainen ja osa sovelluksista sijaitsee varsin erikoisten hakemistopolkujen takana.

Käyttäjän omat alustustiedostot

Mikäli käyttäjille määritellyt yhteiset asetukset ei ole käyttäjälle riittäviä, voi käyttäjä tehdä omat alustustiedostot. Nämä tiedostot luetaan yleisten alustustiedostojen lukemisen jälkeen, jolloin käyttäjä voi halutessaan ylikirjoittaa yleisiä asetuksia (mikä ei tosin ole suositeltavaa).

Mikäli komentotulkki käynnistyy login -tilaan, se lukee ~/.bash_profile, ~/.bash_login ja ~/.profile -tiedostot edellämainitussa järjestyksessä. Suositeltavaa on käyttää vain yhtä tiedostoa, mielellään ~/.bash_profile.

Mikäli komentotulkki käynnistyy ei-login -tilaan (interaktiiviseksi), se lukee ~/.bashrc -nimisen tiedoston. Huomattavaa on, että tässä tapauksessa ei lueta muita käyttäjän omia tiedostoja, ellei käyttäjä erikseen näin käske ~/.bashrc -tiedostossa. ~/.bashrc -tiedostossa ei saa olla mitään, joka tulostaa jotain.

Jotta käyttäjän ei tarvitsisi tehdä asetusmuutoksia kahteen eri tiedostoon, kannattaa tehdä kaikki ympäristöasetukset ~/.bashrc -tiedostoon ja asettaa ~/.bash_profile -tiedosto lukemaan ~/.bashrc -tiedosto. Homma voidaan hoitaa esimerkiksi seuraavan esimerkin mukaisesti.

# ~/.bash_profile
# # bash -komentotulkin alustustiedosto, mikäli # komentotulkki käynnistyy login -tilaan. # # luetaan ~/.bashrc -tiedosto, mikäli sellainen # on olemassa if [ -f ~/.bashrc ] ; then source ~/.bashrc fi # Muita mahdollisia jututja, joita sisäänkirjautumisen # yhteydessä tehdään, voi laittaa tähän.

Kannattaa myös huomata, että Lintulassa on kahta eri käyttöjärjestelmää (Solaris ja Linux). Eri ympäristöt ovat hieman erilaisia ja esimerkiksi kaikkia sovelluksia ei ole asennettu kaikkialle. Tämän takia alustustiedostaissa kannattaa ottaa huomioon mitä käyttöjärjestelmää käytetään ja muokata asetuksia sen mukaan. Homman voi tehdä esimerkiksi näin:

#
# ~/.bashrc
#
# bash -komentotulkin alustustiedosto, mikäli
# komentotulkki käynnistyy ei-login -tilaan.
#
# TÄSSÄ TIEDOSTOSSA EI SAA OLLA MITÄÄN, MIKÄ 
# TULOSTAA JOTAIN STDOUT tai STDERR -virtaan.

# Tehdään asioita käyttöjärjestelmän mukaan
case `/bin/uname -s` in
  SunOS)
    # Mikäli komentotulkki käynnistyy
    # Solarikseen, otetaan polkuun mukaan modula3
    PATH=${PATH}:/share/modula3/bin
    export PATH
    ;;
  Linux)
    # Mikäli komentotulkki käynnistyy
    # Linuxissa, asetetaan ls -komennolle alias
    # niin, että ls antaa tulosteensa väreissä
    alias ls='ls --color=auto'
    ;;
esac

# Muita mahdollisia juttuja, jotka ovat molemmissa ympäristöissä
# yhteisiä

# umask -asetus. Lisätietoja 
# http://www.cs.tut.fi/lintula/ohjeet/bash_alustustiedostot.shtml#umask
# Poista kommenttimerkki rivin alusta, mikäli haluat käyttää tätä.
#umask 007

# ulimit -asetus, joka sallii 2 MB kokoiset core-tiedostot. Lisätietoja
# http://www.cs.tut.fi/lintula/ohjeet/bash_alustustiedostot.shtml#core
# Poista kommenttimerkki rivin alusta, mikäli haluat käyttää tätä.
#ulimit -S -c 2048
        


Komentotulkin ja tekstipohjaisten ohjelmien käyttöympäristö

Komentotulkin ja komentoriviltä toimivien ohjelmien toimintaan ja ulkonäköön voi vaikuttaa useilla eri ympäristömuuttujilla ja muilla asetuksilla. Ajossa olevassa komentotulkissa (esimerkiksi xterm ikkuna) asetuksia voidaan muokata antamalla ko. komento tai asettamalla ympäristömuuttujalle arvo. Mikäli asetusten halutaan säilyvän ja näkyvän kaikkiin uusiin komentotulkkeihin, tulee asetukset tallentaa komentotulkin alustustiedostoihin (~/.bashrc).

Komentotulkin toimintaan vaikuttavia ympäristömuuttujia

Ympäristömuuttuja asetetaan komentoriviltä asettamalle kyseisen nimiselle muuttujalle arvo ja tekemällä muuttujasta ympäristömuuttuja export -komennolla. Esimerkiksi mikäli halutaan asettaa PS1 -niminen muuttuja, annetaan komennot:

PS1="\h:\w\$ "
export PS1

Esimerkissä ensimmäisellä rivillä asetetaan muuttujan PS1 "\h:\w\$ " ja toisella rivillä tehdään siitä ympäristömuuttuja. Komennot voi sellaisenaan tallentaa .bashrc -tiedostoon. Kannattaa huomata, että osa ympäristömuuttujista on käyttöjärjestelmäkohtaisia, joten ne tulee asettaa yllä esitetyllä tavalla eri arvoon eri käyttöjärjestelmissä.

Alla olevassa taulukossa on listattu käyttöympäristön toimintaan vaikuttavia ympäristömuuttujia.

Muuttujan nimi
Vaikutus
Lisätietoja
PS1
Komentotulkin komentokehoitteen ulkonäkö, esimerkiksi PS1="\h:\w\$" näyttää tältä: tipilintu:/usr/bin$ (eli koneennimi:työhakemisto$)
bash -komentotulkin manuaalisivu, man bash
PATH
Listaa hakemistot, joista suoritettavia komentoja (ja ohjelmia) etsitään. Esimerkiksi PATH=/bin:/usr/bin:/usr/local/bin:~/bin hakee komentoja luetelluista hakemistoista luetellussa järjestyksessä.
Asetettaessa PATH muuttujaa itse, ei kannata  ylikirjoittaa oletusta, vaan vain lisätä haluttu hakemisto muuttujan alkuun tai loppuun (esim PATH=${PATH}:~/bin jos halutaan hakea komentoja myös oman kotihakemiston alla olevasta bin/ -hakemistosta). Turvallisuussyistä PATH -muuttujaan ei koskaan saa laittaa työhakemistoa.
MANPATH
Listaa hakemistot, joista man -komento etsii manuaalisivuhierarkiaa.
Asetettaessa MANPATH muuttujaa itse, ei kannata  ylikirjoittaa oletusta, vaan vain lisätä haluttu hakemisto muuttujan alkuun tai loppuun.
EDITOR
VISUAL
Kertoo ohjelman, jota käytetään tekstieditorina. Esimerkiksi monet sähköposti ja uutistenlukuohjelmat käynnistävät näissä ympäristömuuttujissa mainitun tekstieditorin lähetettävän viestin kirjoittamiseen.
Muuttujan arvona voi olla mikä tahansa tekstieditorin käynnistävä komento, joka ottaa parametrinaan editoitavan tiedoston nimen. Muuttujan arvoksi ei kannata asettaa vain graafisen käyttöliittymän sisältävää editoria.
PAGER
Kertoo ohjelman, jota käytetään pitkän tekstin esittämiseen ruudulla.
Oletuksena less
IRCSERVER
Kertoo ircII ohjelman käyttämän IRC palvelimen nimen (ja mahdollisen portin)
Oletuksena irc.cc.tut.fi
NNTPSERVER
Kertoo useille tekstitilassa toimiville uutistenlukuohjelmille käytettävän uutispalvelimen nimen.
Oletuksena news.cc.tut.fi

umask -asetus

Komentotulkin alustustiedostoissa kannattaa tehdä myös umask -asetus, joka määrittelee millaiset oikeudet luotaville tiedostoille ja hakemistoille asetetaan. umask -asetus tehdään kirjoittamalla haluttu umask -komento alustustiedostoon (esimerkiksi .bashrc). Lisätietoja Unix tiedosto-oikeudet -ohjesivulla.


ulimit ja core -tiedostot

core -tiedosto syntyy usein ohjelman kaatuessa, kun kaatuvan ohjelman käyttämät muistialueet tallennetaan tiedostoon myöhempää tarkastelua varten. Osaava käyttäjä voikin core -tiedoston (ja ohjelman lähdekoodien) avulla yrittää selvittää kaatumisen syitä. Normaalikäyttäjälle core -tiedostoista ei yleensä ole muutakuin haittaa, koska ne kuluttavat kotihakemistossa arvokasta levytilaa. Oletuksena Lintulan koneilla core-tiedostojen syntyminen on estetty. Mikäli core -tiedostoille kuitenkin on käyttöä, homma onnistuu lisäämällä omaan .bashrc -tiedostoon seuraavankaltainen rivi (tämä sallii maksimissaan 2 MB core -tiedostot):

ulimit -S -c 2048

14.12.2007