Morda ste že slišali za Bash – privzeto lupino v večini distribucij Linuxa. Obstaja še ena lupina, ki je vnaprej nameščena v Linuxu: lupina Bourne.

Lupina Bourne je ena najstarejših lupin, ki se še vedno uporablja v sodobnih sistemih Linux, čeprav ni tako razširjena kot Bash. Tukaj je tisto, kar morate vedeti o lupini Bourne v sistemu Linux.

Kaj je Bournova školjka?

Bournova lupina, pogosto skrajšana na "sh", je poimenovana po britanskem računalniškem znanstveniku Stephenu R. Bourne, ki ga je razvil med delom v Bell Labs leta 1978. Lupina je nadomestila prejšnjo Thompson Shell, ki jo je napisal eden od izvirnih ustvarjalcev Unixa, Ken Thompson.

Lupina Bourne je debitirala z različico 7 Unixa leta 1979. Imel je funkcije, kot so nadzor pretoka, spremenljivke in izboljšano ravnanje z nizi. Te funkcije so olajšale uporabo lupine kot programskega jezika in ne le kot način za priklic drugih programov.

Medtem ko je lupina Bourne ostala priljubljena za pisanje prenosnih skriptov v sistemih Unix, je bila za interaktivno uporabo nadomesti lupina C, KornShell, lupina Bourne Again, znana tudi kot Bash, in Z lupina. Te lupine so ponujale funkcije, kot so

instagram viewer
zgodovino ukazov in urejanje ukazne vrstice ki je uporabnikom in skrbnikom olajšalo življenje.

Lupine KornShell, Bash in Z (omenjene pozneje) imajo sintakse pod vplivom lupine Bourne.

Močnejši skriptni jeziki za več platform s še naprednejšimi funkcijami, kot sta Perl in Python, so prav tako v veliki meri nadomestili skriptno lupino.

Kljub temu je Bournova lupina splošno znana in veliko skriptov, ki so priloženi programom Linux, uporablja njeno sintakso za različne naloge.

Vedenje Bournove lupine je bilo kodificirano v standard POSIX, zato ga mnogi sodobni sistemi, podobni Unixu, izvajajo na nek način z uporabo združljive lupine.

Sodobne alternative Bourne Shell

Obstaja več odprtokodnih sodobnih alternativ originalni lupini Bourne v sistemih Linux. Tukaj je nekaj najbolj znanih:

1. Bourne Again Shell (Bash)

Ime Lupina Bourne Again (Bash) je igra Bournove lupine. Ta lupina je bila prvotno razvita kot komponenta sistema GNU, pred Linuxom je bila nekaj let.

V veliki meri je združljiv s skripti, prvotno napisanimi za lupino Bourne. Vključeval je tudi funkcije, kot je urejanje v ukazni vrstici, ki ga je uvedel KornShell.

Bash je privzeta lupina v mnogih distribucijah Linuxa in je tako postal de facto sam po sebi standard.

2. KornShell

KornShell, znan tudi kot ksh, je prvotno razvil David Korn, prav tako v Bell Labs, v osemdesetih letih prejšnjega stoletja. KornShell, zgrajen na osnovi lupine Bourne, je predstavil nekaj dodatnih funkcij, kot so nadzor opravil, nizi in urejanje ukazne vrstice. Slednja je bila revolucionarna funkcija, ko se je prvič pojavila, ker je bila veliko enostavnejša kot uporaba mehanizma zgodovine lupine C.

Če bi morali ponovno urediti predhodno izdan ukaz, bi lahko za to uporabili ukaze, podobne ukazom Vi ali Emacs.

KornShell je bil privzet v nekaterih komercialnih sistemih Linux, kot je Oracle Solaris. Ker je prvotni KornShell prvotno izdal AT&T pod lastniško licenco, je bila na koncu izdana odprtokodna različica z imenom pdksh.

3. Almquist/Debian Almquist Shell

Lupino Almquist je prvotno napisal Kenneth Almquist in je bila mišljena kot lahka zamenjava za Bournovo lupino. Mnogi sistemi BSD ga vključujejo kot izvedbo sh.

Različica je bila prenesena v Debian v devetdesetih letih in je znana kot lupina Debian Almquist. Kot že ime pove, je to implementacija sh v sistemih Debian in Ubuntu.

4. Z školjka

Z školjkaali zsh je ena najnovejših lupin, ki jo je leta 1990 razvil Paul Falsted. Lupina Z je postala znana po svojih naprednih funkcijah. Dober primer je rekurzivno globiranje ali zmožnost ujemanja nadomestnih znakov v podimenikih.

Lupina Z je privzeta prijavna lupina za macOS in Kali Linux.

Združljivost Bourne Shell

Medtem ko so te lupine večinoma združljive s skripti, prvotno napisanimi za Bournovo lupino, obstajajo načini, kako spremeniti njihovo vedenje, da bo bolj podobno izvirni lupini.

Glavni način za to je skozi simbolično povezavo. Večina sistemov bo imela simbolno povezavo /bin/sh v Bash ali drugo lupino. Ko je priklicana na ta način, bo lupina prešla v način združljivosti z lupino Bourne.

Lahko vidite, katera lupina /bin/sh je povezan z ukaz ls:

ls -l /bin/sh

Zdaj veste za Bournovo školjko

Bournova lupina je eden najstarejših standardov za skriptiranje v Unixu podobnih sistemih. Tudi če so ga nadomestile druge lupine, je še vedno ključnega pomena za izvajanje skriptov, ki so jih napisali drugi.

Bash je eden najboljših Bournovih derivatov za kodiranje, zlasti zaradi njegovega pristopa k spremenljivkam. Ima nekaj edinstvenih spremenljivk, zaradi katerih boste morda želeli razmisliti o njem za svoj naslednji projekt.