Mikä on Bourne Shell?

Bourne -kuori on pieni ohjelma, joka toimii Unix®- ja LINUX® -käyttöjärjestelmissä ja tarjoaa käyttöliittymän ohjelmien suorittamiseen järjestelmässä. Sitä kutsutaan usein komentoriviliittymäksi tai komentotulkiksi, koska se ei tarjoa käyttäjälle graafista käyttöliittymää (GUI). Suoritetut komennot ja tarvittavat parametrit kirjoitetaan kuoreen. Bourne -kuori on myös komentosarjakieli, jonka avulla käyttäjät voivat luoda ja suorittaa komentotiedostoja, jotka voivat käsitellä tietoja useiden ohjelmien kautta yhdellä komennolla. Unix®-kaltaisissa järjestelmissä ohjelma tunnetaan yksinkertaisesti nimellä “sh.”

Ensimmäiset tällaiset Unix® -järjestelmien kuoret tunnettiin Thompsonin kuorena, jonka loi Ken Thompson, yksi Unix® -käyttöjärjestelmän alkuperäisistä luojaista. Thompsonin kuori rajoittui komentojen tulkintaan, ja joukko lisätoimintoja oli suoritettava ulkoisina operaatioina. Myöhemmin Stephen Bourne loi Bourne -kuoren korvaamaan Thompsonin kuoren ja lisäsi joukon uusia ominaisuuksia itse kuoreen sekä kuoren komentosarjakielen.

Todellisuudessa Bourne-kuori suunniteltiin komentosarjakieleksi heti alusta lähtien. Vaikka se oli edelleen Unix® -version seitsemän komentorivikäyttöliittymä, se avasi myös käyttäjille mahdollisuuden kehittää komentosarjoja, jotka linkittäisivät komennot yhteen tietojen käsittelemiseksi. Käyttämällä tätä ohjelmointia käyttäjä voi luoda muuttujia tunnettujen tai tuntemattomien tietojen sieppaamiseksi sisääntulosta tai ulostulosta ja manipuloida kyseisten tietojen käsittelyä käyttämällä komentosarjassa olevia ehdollisia lausekkeita tekniikalla, jota kutsutaan ohjausvirraksi.

Tämä oli myös ensimmäinen kuori, joka toteutti ominaisuuden, joka tunnetaan nimellä signaalin käsittely. Bourne -kuoren kautta käyttäjä voi lähettää tietyn tyyppisen signaalin tietokoneessa jo käynnissä olevaan prosessiin ja kehottaa tätä prosessia tekemään jotain muuta. Monet näistä ovat tapoja pysäyttää suoritettava prosessi ja tuottaa jonkinlainen tulos, jota voidaan käyttää virheenkorjaukseen, vaikka toiset ovat olemassa prosessin väliaikaiseksi pysäyttämiseksi, jatkamiseksi jne.

Mahdollisuus suoraan hallita tiedostojen kuvauksia oli toinen Bourne -kuoren ensimmäinen. Unix®-kaltaisessa järjestelmässä jokaisessa käynnissä olevassa ohjelmassa on taulukko, jossa luetellaan avointen tiedostojen kuvaajat. Tämä voi sisältää mitä tahansa yksinkertaisesta tekstitiedostosta hakemistoon tai jopa viestintäliittimiin, joita prosessit käyttävät tietojen jakamiseen keskenään. Jotta käyttäjä voi hallita tiedostojen kuvaajia järjestelmässä, joka sallii ennennäkemättömän ohjauksen tuloon ja lähtöön lähes kaikessa tietokoneessa.

Tietenkin, vaikka Bourne -kuori tarjosi käyttäjille tällaisia ​​lisätoimintoja, siitä puuttui ominaisuuksia, kuten kyky hallita prosesseja vuorovaikutteisesti, luoda komentoaliaksia ja säilyttää historia. Myöhemmin kuitenkin alkoi ilmaantua joukko jälkeläisiä, jotka ottivat hyödyllisimmät kuoren ominaisuudet, jotka oli kehitetty vuosien varrella, ja käärivät ne uusiksi kuoriksi. Yksi yleinen esimerkki on Bourne-again-kuori tai Bash, joka on yleinen monissa LINUX®-järjestelmissä. Tämän seurauksena monet näistä jälkeläisistä pystyvät täysin suorittamaan tavallisia Bourne-komentosarjoja, mikä antaa jokaiselle Unix®-tyyppiselle järjestelmälle jonkinlaisen toteutuksen alkuperäisestä Bourne-kuorista tavalla tai toisella. Monissa LINUX® -järjestelmissä tämä on yksinkertaisesti linkki “sh”: stä “bash”: iin tai johonkin muuhun kykenevään jälkeläiseen.