Unix-skall

Et skall (engelsk: shell) er en fellesbetegnelse på kommando-tolker i en rekke operativsystemer. Et effektivt, tekstorientert grensesnitt mellom operativsystemet og brukeren, typisk med mulighet for å utføre 'kommandofiler', tekstfiler som inneholder kommandoer. Begrepet stammer opprinnelig fra Unix, og Unix' opprinnelige skall, sh ('Bourne Shell', 1977) ble rollemodell for all senere utvikling av kommando-tolker. Ikke minst det faktum at Unix-skallet er et vanlig brukerprogram, ble trendsettende. Brukere kan velge mellom ulike skall, og utvikle sine egne – uten spesielle privilegier.

Frikoblingen mellom system og kommando-tolk førte til at det over tid ble utviklet en rekke skall for Unix- og Unix-lignende operativsystemer. Det opprinnelige skallet ble utviklet av Stephen R. Bourne (sh, bsh), og er over tid erstattet av nyere og mer funksjonsrike varianter som Korn Shell (ksh), zsh, C-shell (csh), T-shell (tcsh) og «Bourne-again-shell» (bash). Sistnevnte er mest utbredt i dag, men de fleste Unix- og Unix-lignende systemer inkluderer en håndfull ulike skall.

Et skall er både kommando-tolk og programmeringsspråk (ofte kalt skriptspråk). Muligheten for å bruke kommando-tolken til programmering har vært essensiell for automatisering og drift av Unix-systemer siden 1970-tallet. Programmene kan inneholde kontrollstrukturer, variabler og funksjonalitet som gjør det mulig å lage strukturerte programmer som kombinerer flere verktøy og programmer.

Programmeringsmuligheter og syntaks varierer betydelig mellom ulike Unix-skall, og har i årenes løp gitt opphav til kompatibilitetsproblemer mellom ulike systemer og generasjoner. Å etablere en standard for skall-programmering ble derfor en viktig del av standardiseringsprosessen for Unix på slutten av 1980- og begynnelsen av 1990-tallet. POSIX.2 (1992) definerer egenskaper og syntaks for et Unix-skall, og er basert på den tidens mest utbredte skall, ksh88.

Skall-standarden ble en del av Single Unix Specification, og er senere blitt tilgjengelig som IEEE standard 1003.1. Standarden vedlikeholdes av både IEEE Computer Society og The Open Group.

På norsk brukes ofte det engelske ordet shell.

Alternative betydninger
Uttrykket «skall» blir også brukt i en mer generell betydning, for å beskrive et hvert program som fungerer som et grensesnitt mot det underliggende operativsystemet. Grafiske brukergrensesnitt blir således av og til kalt for «grafiske skall» eller «visuelle skall». (engelsk: «visual shells», «graphical shells»)

Referanser 

 
Fri programvare
Unix