Ero sivun ”Bourne shell” versioiden välillä

[katsottu versio][katsottu versio]
Poistettu sisältö Lisätty sisältö
Ipr1 (keskustelu | muokkaukset)
Ei muokkausyhteenvetoa
Ipr1 (keskustelu | muokkaukset)
Ei muokkausyhteenvetoa
Rivi 26:
Bourne on kehittänyt komentotulkin [[Bell Labs]]issa.<ref name="computerworld" />
 
Unix-käyttöjärjestelmän alkuperäisen [[Thompson shell|sh]]-komentotulkin oli kehittänyt [[Ken Thompson]].<ref name="computerworld" /> Thompsonin tulkki oli yksinkertainen mutta liian rajoittunut kun käyttöjärjestelmää käytettiin sovelluskehitykseen.<ref name="computerworld" /> Useat ihmiset toivoivat komentotulkilta ohjelmointiominaisuuksia kuten [[Muuttuja (ohjelmointi)|muuttujia]] ja [[vuonohjauslause|vuonohjausta]].<ref name="computerworld" /> Pääongelmana oli suunnitella komentotulkki täysin ohjelmoitavalle [[Komentokieli|komentokielelle]].<ref name="computerworld" /> Tulkin piti myös tukea olemassa olevaa interaktiivista käyttöä, jossa tulkki käsittelee ja suorittaa käyttäjien syöttämiä komentoja.<ref name="computerworld" /> Bourne lisäsi tulkkiin <code>if</code> ja <code>for</code> -lauseet ja eliminoi <code>goto</code>-lauseen.<ref name="computerworld" /> Tulkin komentokieli käyttää [[ALGOL]]in kaltaista syntaksia.<ref name="computerworldp4" />
 
Bell Labsissa oli kehitetty samaan aikaan myös muita komentotulkkeja samoihin ongelmiin.<ref name="computerworldp2" /> Bourne käytti aikaa komentotulkin suorituskyvyn parantamiseen ja vähitellen vakuutti vaihtamaan siihen.<ref name="computerworldp2" /> Suorituskykyä rajoittava tekijä oli Unixin <code>fork</code> ja <code>exec</code> järjestelmäkutsujen nopeus komentoa suorittaessa, joka oli hitaampaa kuin C-kielisen funktion kutsu.<ref name="computerworldp5" /> Viimeinen Bournen lisäämä muutos oli tuki [[aliohjelma|funktioille]] vuonna 1983, jonka jälkeen hän päätti tulkin saavuttaneen suunnittelurajat eivätkä jatkomuutoksien kanssa enää voisi säilyttää johdonmukaisuutta ja yksinkertaisuutta.<ref name="computerworldp3" /> Tulkin komentokieli käyttää [[ALGOL]]in kaltaista syntaksia.<ref name="computerworldp4" /> Myöhemmin tulkista tehtiin [[POSIX]]-yhteensopiva.<ref name="computerworldp3" />
 
[[GNU]]-projekti on toteuttanut osittain yhteensopivan [[Bash]]-komentotulkin.<ref>{{Verkkoviite | osoite = https://www.gnu.org/software/bash/manual/html_node/Major-Differences-From-The-Bourne-Shell.html | nimeke = Appendix B Major Differences From The Bourne Shell | viitattu = 7.9.2019 | kieli = {{en}} }}</ref>