Bourne shell | |
---|---|
Versio 7 UNIX PDP-11:lle, SIMH PDP-11 -simulaatiossa ajamassa Bourne shelliä. |
|
Luoja | Stephen Bourne |
Tiedot | |
Ohjelmistotyyppi | komentotulkki |
Alusta | Unix |
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]
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]
<ref>
-elementti; viitettä computerworld
ei löytynyt<ref>
-elementti; viitettä computerworldp4
ei löytynyt<ref>
-elementti; viitettä computerworldp2
ei löytynyt<ref>
-elementti; viitettä computerworldp5
ei löytynyt<ref>
-elementti; viitettä computerworldp3
ei löytynyt