Bourne shell

Wikipediasta
Siirry navigaatioon Siirry hakuun
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ä.
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]

  1. M. Douglas McIlroy: A Research UNIX Reader: Annotated Excerpts from the Programmer’s Manual, 1971-1986 (PDF) cs.dartmouth.edu. Viitattu 6.9.2019. (englanniksi)
  2. a b c d e f g Howard Dahdah: The A-Z of Programming Languages: Bourne shell, or sh 5.3.2009. Computerworld. Arkistoitu Viitattu 7.9.2019. (englanniksi)
  3. Howard Dahdah: The A-Z of Programming Languages: Bourne shell, or sh (sivu 4) 5.3.2009. Computerworld. Arkistoitu Viitattu 7.9.2019. (englanniksi)
  4. a b Howard Dahdah: The A-Z of Programming Languages: Bourne shell, or sh (sivu 2) 5.3.2009. Computerworld. Arkistoitu Viitattu 7.9.2019. (englanniksi)
  5. Howard Dahdah: The A-Z of Programming Languages: Bourne shell, or sh (sivu 5) 5.3.2009. Computerworld. Viitattu 27.2.2020. (englanniksi)
  6. a b Howard Dahdah: The A-Z of Programming Languages: Bourne shell, or sh (sivu 3) 5.3.2009. Computerworld. Arkistoitu Viitattu 7.9.2019. (englanniksi)
  7. Appendix B Major Differences From The Bourne Shell gnu.org. Viitattu 7.9.2019. (englanniksi)
  8. Vladimir Likic: Understanding Bash: Elements of Programming linuxjournal.com. 28.9.2018. Viitattu 27.2.2020. (englanniksi)

Aiheesta muualla

[muokkaa | muokkaa wikitekstiä]