Hva er Bourne -skallet?
Bourne Shell er et lite program som kjører på UNIX® og Linux® operativsystemer og gir et grensesnitt for å utføre programmer på systemet. Det blir ofte referert til som et kommandolinjegrensesnitt, eller kommandotolk, da det ikke gir noe grafisk brukergrensesnitt (GUI) til brukeren. Kommandoer, og eventuelle nødvendige parametere, som skal utføres, skrives inn i skallet. Bourne Shell er også et skriptspråk, slik at brukere kan lage og utføre skriptfiler som kan behandle data gjennom flere programmer ved hjelp av en enkelt kommando. På UNIX®-lignende systemer er programmet ganske enkelt kjent som "SH."
De første slike skjell for UNIX®-systemer ble kjent som Thompson Shell, opprettet av Ken Thompson, en av de originale skaperne av UNIX®-operativsystemet. Thompson -skallet var begrenset til kommandotolkning, og en rekke tilleggsfunksjoner måtte utføres som eksterne operasjoner. Senere opprettet Stephen Bourne Bourne Shell for å erstatte Thompsonskall, legge til en rekke nye funksjoner i selve skallet, så vel som skallets skriptspråk.
I virkeligheten ble Bourne Shell planlagt som et skriptspråk fra get-go. Selv om det fremdeles var kommandolinjegrensesnittet for UNIX® versjon syv, åpnet det også muligheten for brukere til å utvikle skallskript som ville koble kommandoer sammen for å behandle data. Gjennom bruk av denne programmeringen kunne brukeren etablere variabler for å fange kjente eller ukjente data fra input eller output og manipulere behandlingen av disse dataene gjennom bruk av betingede utsagn i skriptet via en teknikk referert til som kontrollstrøm.
Dette var også det første skallet som implementerte en funksjon kjent som signalhåndtering. Gjennom Bourne -skallet kan en bruker sende en bestemt type signal til en prosess som allerede kjører på datamaskinen, og instruerer den prosessen til å gjøre noenoe annet. Mange av disse er måter å stoppe en prosess som utfører og produserer en slags produksjon som kan brukes til feilsøking, selv om andre eksisterer for å midlertidig stoppe en prosess, gjenoppta og så videre.
Muligheten til å direkte kontrollere filbeskrivelser var en annen første for Bourne -skallet. På et UNIX®-lignende system har hvert kjørende program en tabell som viser filbeskrivelsene for alle åpne filer. Dette kan inneholde alt fra en enkel tekstfil til en katalog eller til og med kommunikasjonsutgirene som prosesser bruker for å dele data med hverandre. For at en bruker skal ha kontroll over filbeskrivelsene på et system som er tillatt for enestående kontroll over inngang og utdata for praktisk talt alt på datamaskinen.
Selvfølgelig, selv om Bourne Shell tilbød en slik tilleggsfunksjonalitet til brukerne, manglet det selvfølgelig funksjoner som muligheten til å kontrollere prosesser interaktivt, etablere kommandoaliaser og beholde en historie. SenereMyrer begynte å dukke opp som tok de mest nyttige skallfunksjonene som hadde blitt utviklet gjennom årene og rullet dem opp i nye skjell. Et vanlig eksempel er Bourne-igjen-skallet, eller bash, som er vanlig på mange Linux®-systemer. Som et resultat er mange av disse etterkommerne fullt ut i stand til å utføre vanlige Bourne Shell-skript, og gir hvert UNIX®-lignende system noen implementering av det originale Bourne Shell på en eller annen måte. På mange Linux® -systemer er dette ganske enkelt en lenke fra "SH" til "bash" eller en annen dyktig etterkommer.