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