Hva er Bourne Shell?

Bourne-skallet 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, ettersom det ikke gir noe grafisk brukergrensesnitt (GUI) til brukeren. Kommandoer, og eventuelle nødvendige parametere, som skal utføres, skrives inn i skallet. Bourne-skallet er også et skriptspråk, som lar brukerne 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-skallet, opprettet av Ken Thompson, en av de opprinnelige 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-skallet for å erstatte Thompson-skallet, og la til en rekke nye funksjoner i selve skallet, så vel som skallets skriftspråk.

I virkeligheten ble Bourne-skallet planlagt som manusspråk fra get-go. Selv om det fremdeles var kommandolinjegrensesnittet for Unix® versjon syv, åpnet det også muligheten for brukere å utvikle skallskript som ville knytte kommandoer sammen for å behandle data. Gjennom bruk av denne programmeringen, kunne brukeren etablere variabler for å fange inn kjente eller ukjente data fra input eller output og manipulere behandlingen av disse dataene ved bruk av betingede uttalelser i skriptet via en teknikk kalt 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 instruere prosessen om å gjøre noe annet. Mange av disse er måter å stoppe en prosess som kjører og produserer en slags output som kan brukes til feilsøking, selv om andre eksisterer for å midlertidig stoppe en prosess, gjenoppta og så videre.

Evnen til å direkte kontrollere filbeskrivelser var en annen først for Bourne-skallet. På et Unix®-aktig system har hvert kjørende program en tabell som viser filbeskrivelsene for alle åpne filer. Dette kan omfatte alt fra en enkel tekstfil til en katalog eller til og med kommunikasjonsuttakene som prosesser bruker for å dele data med hverandre. For at en bruker skal ha kontroll over filbeskrivelsene på et system som tillater uovertruffen kontroll over inngang og utdata for praktisk talt alt på datamaskinen.

Selv om Bourne-skallet tilbød en slik tilleggsfunksjonalitet til brukerne, manglet det selvfølgelig funksjoner som evnen til å kontrollere prosesser interaktivt, etablere kommandoaliaser og beholde en historie. Senere begynte imidlertid et antall etterkommere å 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-again skallet, eller Bash, som er vanlig på mange LINUX®-systemer. Som et resultat er mange av disse etterkommere fullt ut i stand til å utføre vanlige Bourne-shell-skript, noe som gir hvert Unix®-lignende system en viss implementering av det originale Bourne-skallet på en eller annen måte. På mange LINUX®-systemer er dette ganske enkelt en kobling fra "sh" til "bash" eller en annen dyktig etterkommer.

ANDRE SPRÅK

Hjalp denne artikkelen deg? Takk for tilbakemeldingen Takk for tilbakemeldingen

Hvordan kan vi hjelpe? Hvordan kan vi hjelpe?