Bourne shell

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 Viittausvirhe: Virheellinen <ref>-elementti; viitettä computerworld ei löytynyt
  3. Viittausvirhe: Virheellinen <ref>-elementti; viitettä computerworldp4 ei löytynyt
  4. a b Viittausvirhe: Virheellinen <ref>-elementti; viitettä computerworldp2 ei löytynyt
  5. Viittausvirhe: Virheellinen <ref>-elementti; viitettä computerworldp5 ei löytynyt
  6. a b Viittausvirhe: Virheellinen <ref>-elementti; viitettä computerworldp3 ei löytynyt
  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)

From Wikipedia, the free encyclopedia · View on Wikipedia

Developed by razib.in