Bourne shell

ohjelmointikieli

Bourne shell (Bourne-komentotulkki, sh) on Stephen Bournen kehittämä komentotulkki UNIX-käyttöjärjestelmälle.[1] Bourne on kehittänyt komentotulkin Bell Labsissa.[2]

Bourne shell
Versio 7 UNIX PDP-11:lle, SIMH PDP-11 -simulaatiossa ajamassa Bourne shelliä.
Versio 7 UNIX PDP-11:lle, SIMH PDP-11 -simulaatiossa ajamassa Bourne shelliä.
LuojaStephen Bourne
Tiedot
Ohjelmistotyyppikomentotulkki
AlustaUnix

Unix-käyttöjärjestelmän alkuperäisen sh-komentotulkin oli kehittänyt Ken Thompson.[2] Thompsonin tulkki oli yksinkertainen mutta liian rajoittunut kun käyttöjärjestelmää käytettiin sovelluskehitykseen.[2] Useat ihmiset toivoivat komentotulkilta ohjelmointiominaisuuksia kuten muuttujia ja vuonohjausta.[2] Pääongelmana oli suunnitella komentotulkki täysin ohjelmoitavalle komentokielelle.[2] Tulkin piti myös tukea olemassa olevaa interaktiivista käyttöä, jossa tulkki käsittelee ja suorittaa käyttäjien syöttämiä komentoja.[2] Bourne lisäsi tulkkiin if ja for -lauseet ja eliminoi goto-lauseen.[2] Tulkin komentokieli käyttää ALGOLin kaltaista syntaksia.[3]

Bell Labsissa oli kehitetty samaan aikaan myös muita komentotulkkeja samoihin ongelmiin.[4] Bourne käytti aikaa komentotulkin suorituskyvyn parantamiseen ja vähitellen vakuutti vaihtamaan siihen.[4] Suorituskykyä rajoittava tekijä oli Unixin fork ja exec järjestelmäkutsujen nopeus komentoa suorittaessa, joka oli hitaampaa kuin C-kielisen funktion kutsu.[5] Viimeinen Bournen lisäämä muutos oli tuki funktioille vuonna 1983, jonka jälkeen hän päätti tulkin saavuttaneen suunnittelurajat eivätkä jatkomuutoksien kanssa enää voisi säilyttää johdonmukaisuutta ja yksinkertaisuutta.[6] Myöhemmin tulkista tehtiin POSIX-yhteensopiva.[6]

GNU-projekti on toteuttanut osittain yhteensopivan Bash-komentotulkin, jossa on myös ominaisuuksia muista komentotulkeista.[7][8]

Lähteet

Aiheesta muualla

🔥 Top keywords: