Mis on Bourne Shell?

Bourne’i kest on väike programm, mis töötab operatsioonisüsteemides Unix® ja LINUX® ning pakub liidest programmide käivitamiseks süsteemis. Seda nimetatakse sageli käsurea liideseks või käsutõlgiks, kuna see ei paku kasutajale graafilist kasutajaliidest (GUI). Käsud ja kõik vajalikud parameetrid, mis tuleb täita, sisestatakse kesta. Bourne’i kest on ka skriptikeel, mis võimaldab kasutajatel luua ja käivitada skriptifaile, mis võivad ühe käsuga töödelda andmeid mitme programmi kaudu. Unix®-i sarnastes süsteemides tuntakse seda programmi lihtsalt kui “sh”.

Esimesed sellised kestad Unix® süsteemide jaoks olid tuntud kui Thompsoni kestad, mille lõi Ken Thompson, üks Unix® operatsioonisüsteemi algupäraseid loojaid. Thompsoni kest piirdus käskude tõlgendamisega ja välisoperatsioonidena tuli täita mitmeid lisafunktsioone. Hiljem lõi Stephen Bourne Bourne’i kesta, et asendada Thompsoni kesta, lisades kestale endale hulga uusi funktsioone ja ka kesta skriptikeelt.

Tegelikkuses kavandati Bourne’i kest algusest peale skriptikeelena. Kuigi see oli endiselt Unix® seitsmenda versiooni käsurea liides, avas see kasutajatele ka võimaluse töötada välja shelliskripte, mis seoksid käske andmete töötlemiseks. Selle programmeerimise abil saab kasutaja luua muutujaid teadaolevate või tundmatute andmete hõivamiseks sisendist või väljundist ja manipuleerida nende andmete töötlemisega, kasutades skriptis tingimuslauseid, kasutades selleks tehnikat, mida nimetatakse juhtimisvooks.

See oli ka esimene kest, mis rakendas signaalikäsitlusena tuntud funktsiooni. Bourne’i kesta kaudu saab kasutaja saata teatud tüüpi signaali arvutis juba töötavale protsessile, juhendades seda protsessi tegema midagi muud. Paljud neist on viisid, kuidas peatada töötav protsess ja toota mingisugune väljund, mida saab kasutada silumiseks, kuigi on olemas ka teisi võimalusi protsessi ajutiseks peatamiseks, jätkamiseks ja nii edasi.

Võimalus juhtida otse failideskriptoreid oli Bourne’i kesta jaoks veel üks esimene kord. Unix®-i sarnases süsteemis on igal töötaval programmil tabel, mis loetleb kõigi avatud failide failikirjeldused. See võib hõlmata kõike alates lihtsast tekstifailist kuni kataloogini või isegi sidepesadeni, mida protsessid kasutavad andmete omavaheliseks jagamiseks. Et kasutajal oleks kontroll süsteemi failideskriptorite üle, võimaldas enneolematu kontroll sisendi ja väljundi üle peaaegu kõige arvutis oleva jaoks.

Muidugi, kuigi Bourne’i kest pakkus kasutajatele selliseid lisafunktsioone, puudusid sellel funktsioonid, nagu võime interaktiivselt protsesse juhtida, käsu varjunimesid luua ja ajalugu säilitada. Hiljem hakkas aga esile kerkima hulk järeltulijaid, kes võtsid aastate jooksul välja mõeldud kõige kasulikumad kestafunktsioonid ja rullisid need uuteks kestadeks kokku. Üks levinud näide on Bourne-again kest ehk Bash, mis on levinud paljudes LINUX® süsteemides. Selle tulemusena on paljud neist järeltulijatest täiesti võimelised käivitama tavalisi Bourne’i kestaskripte, andes igale Unixi®-laadsele süsteemile ühel või teisel viisil algse Bourne’i kesta teostuse. Paljudes LINUX® süsteemides on see lihtsalt link “sh”-st “bashi”-le või mõnele muule võimekale järglasele.