Olet ehkä kuullut Bashista – useimpien Linux-distrojen oletuskuoresta. On toinenkin kuori, joka on esiasennettu Linuxiin: Bourne-kuori.

Bourne-kuori on yksi vanhimmista nykyaikaisissa Linux-järjestelmissä edelleen käytössä olevista kuorista, vaikka se ei ole yhtä laajalti käytetty kuin Bash. Tässä on mitä sinun tulee tietää Bourne-kuoresta Linuxissa.

Mikä on Bourne Shell?

Bourne-kuori, josta käytetään usein lyhennettä "sh", on nimetty brittiläisen tietojenkäsittelytieteilijän Stephen R. Bourne, joka kehitti sen työskennellessään Bell Labsissa vuonna 1978. Shell korvasi aikaisemman Thompson Shellin, jonka on kirjoittanut yksi Unixin alkuperäisistä tekijöistä, Ken Thompson.

Bourne-kuori debytoi version 7 Unixin kanssa vuonna 1979. Siinä oli ominaisuuksia, kuten virtauksen ohjaus, muuttujat ja parannettu merkkijonojen käsittely. Nämä ominaisuudet tekivät kuoren käyttämisen helpommaksi ohjelmointikielenä kuin vain tapana kutsua muita ohjelmia.

Vaikka Bourne-kuori pysyi suosittuna kannettavien komentosarjojen kirjoittamisessa Unix-järjestelmissä, se oli sitä interaktiiviseen käyttöön korvattu C-kuorella, KornShellillä, Bourne Again -kuorella, joka tunnetaan myös nimellä Bash, ja Z kuori. Nämä kuoret tarjosivat ominaisuuksia, kuten

instagram viewer
komentohistoria ja komentorivimuokkaus mikä helpotti käyttäjien ja järjestelmänvalvojien elämää.

KornShellin, Bashin ja Z-kuoren (käsitelty myöhemmin) syntakseihin on vaikuttunut Bourne-kuori.

Tehokkaammat cross-platform-skriptikielet, joissa on vieläkin kehittyneempiä ominaisuuksia, kuten Perl ja Python, ovat myös suurelta osin korvanneet komentotulkkikomentosarjan.

Silti Bourne-kuori on laajalti ymmärretty ja monet Linux-ohjelmien mukana toimitetut skriptit käyttävät sen syntaksia erilaisiin tehtäviin.

Bournen kuoren käyttäytyminen kodifioitiin POSIX-standardi, niin monet nykyaikaiset Unix-tyyppiset järjestelmät toteuttavat sen jollain tavalla käyttämällä yhteensopivaa komentotulkkia.

Modernit Bourne Shell -vaihtoehdot

Linux-järjestelmissä on useita avoimen lähdekoodin moderneja vaihtoehtoja alkuperäiselle Bourne-kuorelle. Tässä on joitain tunnetuimmista:

1. Bourne Again Shell (Bash)

Nimi Bourne Again -kuori (Bash) on näytelmä Bournen kuorella. Tämä kuori kehitettiin alun perin GNU-järjestelmän osaksi, ja se oli useita vuosia ennen Linuxia.

Se on suurelta osin yhteensopiva Bourne-kuorelle alun perin kirjoitettujen skriptien kanssa. Se sisälsi myös ominaisuuksia, kuten KornShellin pioneerin komentorivimuokkauksen.

Bash on oletuskuori monissa Linux-jakeluissa ja siksi siitä on tullut de facto standardi yksinään.

2. KornShell

KornShellksh, joka tunnetaan myös nimellä ksh, kehitti alun perin David Korn, myös Bell Labsissa, 1980-luvulla. Bourne-kuoren päälle rakennettu KornShell esitteli joitain lisäominaisuuksia, kuten työnhallinnan, taulukot ja komentorivimuokkauksen. Jälkimmäinen oli vallankumouksellinen ominaisuus, kun se ilmestyi ensimmäisen kerran, koska se oli paljon helpompaa kuin C-kuoren historiamekanismin käyttäminen.

Jos jouduit muokkaamaan aiemmin annettua komentoa uudelleen, voit käyttää Vi: n tai Emacsin kaltaisia ​​komentoja.

KornShell oli oletusasetus joissakin kaupallisissa Linux-järjestelmissä, kuten Oracle Solaris. Koska AT&T julkaisi alkuperäisen KornShellin alun perin omalla lisenssillä, avoimen lähdekoodin versio nimeltä pdksh julkaistiin lopulta.

3. Almquist/Debian Almquist Shell

Almquist-kuoren on alun perin kirjoittanut Kenneth Almquist, ja se oli tarkoitettu Bourne-kuoren kevyeksi korvaajaksi. Monet BSD-järjestelmät sisältävät sen sh: n toteutuksena.

Versio siirrettiin Debianille 1990-luvulla ja tunnetaan Debian Almquist -kuorena. Kuten nimestä voi päätellä, se on sh: n toteutus Debian- ja Ubuntu-järjestelmissä.

4. Z Shell

Z kuorizsh on yksi uusimmista kuorista, jonka Paul Falsted kehitti alun perin vuonna 1990. Z shell on tullut tunnetuksi edistyneistä ominaisuuksistaan. Hyvä esimerkki on rekursiivinen globbing tai kyky sovittaa jokerimerkkejä alihakemistoissa.

Z-kuori on oletusarvoinen kirjautumiskuori macOS: lle ja Kali Linuxille.

Bourne Shell -yhteensopivuus

Vaikka nämä kuoret ovat suurelta osin yhteensopivia Bourne-kuorelle alun perin kirjoitettujen komentosarjojen kanssa, on olemassa tapoja muuttaa niiden käyttäytymistä enemmän alkuperäisen kuoren kaltaiseksi.

Pääasiallinen tapa tehdä tämä on läpi symbolinen linkki. Useimmat järjestelmät ovat symlink-linkkejä /bin/sh joko Bashiin tai toiseen kuoreen. Kun komentotulkki vedetään tällä tavalla, se siirtyy yhteensopivuustilaan Bourne-kuoren kanssa.

Saa nähdä mikä kuori /bin/sh on linkitetty ls-komento:

ls -l /bin/sh

Nyt tiedät Bourne Shellistä

Bourne-kuori on yksi vanhimmista Unix-tyyppisten järjestelmien komentosarjastandardeista. Vaikka se on korvattu muilla kuorilla, se on silti elintärkeää muiden kirjoittamien komentosarjojen suorittamiseen.

Bash on yksi parhaista Bourne-johdannaisista koodaukseen, erityisesti sen lähestymistavan muuttujiin. Siinä on joitain ainutlaatuisia muuttujia, jotka saattavat saada sinut harkitsemaan sitä seuraavassa projektissasi.