Možda ste čuli za Bash—zadanu ljusku u većini Linux distribucija. Postoji još jedna ljuska koja dolazi unaprijed instalirana na Linuxu: Bourne ljuska.

Bourneova ljuska jedna je od najstarijih ljuski koje se još uvijek koriste na modernim Linux sustavima, iako se ne koristi tako široko kao Bash. Evo što trebate znati o Bourneovoj ljusci na Linuxu.

Što je Bourneova školjka?

Bourneova ljuska, često skraćena na "sh", nazvana je po britanskom informatičkom znanstveniku Stephenu R. Bourne, koji ga je razvio dok je radio u Bell Labsu 1978. Ljuska je zamijenila raniju Thompson Shell, koju je napisao jedan od izvornih tvoraca Unixa, Ken Thompson.

Bourneova ljuska debitirala je s verzijom 7 Unixa 1979. Imao je značajke kao što su kontrola protoka, varijable i poboljšano rukovanje nizovima. Ove su značajke olakšale korištenje ljuske kao programskog jezika, a ne samo kao načina za pozivanje drugih programa.

Iako je Bourneova ljuska ostala popularna za pisanje prijenosnih skripti na Unix sustavima, bila je zamijenjen za interaktivnu upotrebu ljuskom C, KornShell, Bourne Again ljuskom, također poznatom kao Bash, i Z ljuska. Ove su školjke nudile značajke poput

instagram viewer
povijest naredbi i uređivanje naredbenog retka što je olakšalo život korisnicima i administratorima.

KornShell, Bash i Z shell (kasnije obrađeni) imaju sintakse pod utjecajem Bourne shell-a.

Snažniji međuplatformski skriptni jezici s još naprednijim značajkama kao što su Perl i Python također su uvelike zamijenili skriptiranje ljuske.

Ipak, Bourneova ljuska je široko poznata i mnoge skripte isporučene s Linux programima koriste njenu sintaksu za razne zadatke.

Ponašanje Bourneove ljuske je kodificirano u standard POSIX, tako da ga mnogi moderni sustavi slični Unixu implementiraju na neki način korištenjem kompatibilne ljuske.

Moderne alternative Bourne Shell

Postoji nekoliko open-source suvremenih alternativa originalnoj Bourneovoj ljusci na Linux sustavima. Evo nekih od najpoznatijih:

1. Bourne Again Shell (Bash)

Ime Bourne Again shell (Bash) je igra na Bourneovoj ljusci. Ova je ljuska izvorno razvijena kao komponenta GNU sustava, prethodeći Linuxu nekoliko godina.

Uvelike je kompatibilan sa skriptama izvorno napisanim za Bourneovu ljusku. Također uključuje značajke poput uređivanja putem naredbenog retka koje je uveo KornShell.

Bash je zadana ljuska na mnogim distribucijama Linuxa i stoga je postao sam po sebi de facto standard.

2. KornShell

KornShell, također poznat kao ksh, izvorno je razvio David Korn, također u Bell Labsu, 1980-ih. Izgrađen na Bourneovoj ljusci, KornShell je uveo neke dodatne značajke poput kontrole poslova, nizova i uređivanja naredbenog retka. Potonji je bio revolucionarna značajka kada se prvi put pojavio jer je bio puno lakši od korištenja mehanizma povijesti C shell-a.

Ako trebate ponovno urediti prethodno izdanu naredbu, možete koristiti naredbe slične Vi ili Emacs da to učinite.

KornShell je bio zadani na nekim komercijalnim Linux sustavima poput Oracle Solarisa. Budući da je izvorni KornShell isprva izdao AT&T pod vlasničkom licencom, na kraju je objavljena verzija otvorenog koda pod nazivom pdksh.

3. Almquist/Debian Almquist Shell

Almquist školjku izvorno je napisao Kenneth Almquist i bila je zamišljena kao lagana zamjena za Bourneovu školjku. Mnogi BSD sustavi ga uključuju kao implementaciju sh.

Verzija je prenesena na Debian 1990-ih i poznata je kao Debian Almquist shell. Kao što naziv implicira, to je implementacija sh na Debian i Ubuntu sustavima.

4. Z školjka

Z školjka, ili zsh, jedna je od najnovijih ljuski, koju je 1990. izvorno razvio Paul Falsted. Z shell je postao poznat po svojim naprednim značajkama. Dobar primjer je rekurzivno globbiranje ili mogućnost spajanja zamjenskih znakova u poddirektorijima.

Z shell je zadana ljuska za prijavu za macOS i Kali Linux.

Kompatibilnost s Bourne Shellom

Iako su ove ljuske u velikoj mjeri kompatibilne sa skriptama izvorno napisanim za Bourneovu ljusku, postoje načini da se promijeni njihovo ponašanje kako bi bilo sličnije izvornoj ljusci.

Glavni način za to je kroz simbolička veza. Većina sustava će imati simboličku vezu /bin/sh na Bash ili drugu ljusku. Kada se pozove na ovaj način, ljuska će ući u način rada kompatibilnosti s Bourneovom ljuskom.

Možete vidjeti koja školjka /bin/sh je povezan s naredba ls:

ls -l /bin/sh

Sada znate za Bourneovu školjku

Bourneova ljuska jedan je od najstarijih standarda za skriptiranje na sustavima sličnim Unixu. Čak i ako je zamijenjen drugim školjkama, i dalje je vitalan za pokretanje skripti koje su napisali drugi.

Bash je jedan od najboljih Bourneovih izvedenica za kodiranje, posebno zbog svog pristupa varijablama. Ima neke jedinstvene varijable koje bi vas mogle natjerati da ga razmotrite za svoj sljedeći projekt.