Bourne shell
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]
Lähteet
[muokkaa | muokkaa wikitekstiä]- ↑ 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)
- ↑ 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)
- ↑ Howard Dahdah: The A-Z of Programming Languages: Bourne shell, or sh (sivu 4) 5.3.2009. Computerworld. Arkistoitu Viitattu 7.9.2019. (englanniksi)
- ↑ 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)
- ↑ Howard Dahdah: The A-Z of Programming Languages: Bourne shell, or sh (sivu 5) 5.3.2009. Computerworld. Viitattu 27.2.2020. (englanniksi)
- ↑ 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)
- ↑ Appendix B Major Differences From The Bourne Shell gnu.org. Viitattu 7.9.2019. (englanniksi)
- ↑ Vladimir Likic: Understanding Bash: Elements of Programming linuxjournal.com. 28.9.2018. Viitattu 27.2.2020. (englanniksi)
Aiheesta muualla
[muokkaa | muokkaa wikitekstiä]- List of Bourne shell built-in commands (englanniksi)