U Unixu i Linuxu postoji nekoliko "školjki". Shell se odnosi na poseban korisnički program koji svojim korisnicima nudi sučelje za korištenje OS usluga.
Dvije poznate ljuske su KSH i Bash. Ovo su ljuske područja računalnog programiranja. Ova dva imaju različite skupove značajki i naredbi. Obje ove ljuske su međusobno povezane.
Ključni za poneti
- KSH (KornShell) je starija ljuska, dok je BASH (Bourne-Again SHell) novija ljuska s dodatnim značajkama.
- BASH je zadana ljuska za većinu distribucija Linuxa, dok je KSH češći u Unix sustavima.
- BASH je kompatibilan s KSH skriptama, ali ne podržava sve BASH značajke.
KSH protiv Basha
KSH je naredba tumač i programski jezik kompatibilan s POSIX-om. Tresnuti je poboljšana verzija Bourneove ljuske koju je razvio Steve Bourne 1970-ih i sada je zadana ljuska u većini distribucija Linuxa. Podržava mnoge značajke Korn školjke i ima dodatne značajke.
KSH se odnosi na Unix školjku koju je razvio David Korn ranih 1980-ih. Razvijen je inspiriran zahtjevima korisnika Bell Laba i sadrži nekoliko značajki C shell-a.
KSH je također kompatibilan s prethodnim verzijama. Postoji uglavnom pet verzija KSH- PDKSH, KSH, MKSH, KSH93 i KSH88.
Bash se, s druge strane, odnosi na klon Bourneove ljuske. Razvio ga je FSF (Freeware Software Foundation) te je licenciran i napisan pod Općom javnom licencom (GPL).
Tresnuti ljusku je mnogo godina kasnije razvio KSH, tako da je novija ljuska koja ima nekoliko novih resursa u usporedbi s KSH.
Tabela za usporedbu
Parametri usporedbe | KSH | Tresnuti |
---|---|---|
Izvođenje | Kada se radi o izvršavanju naredbi i skripti, KSH daje mnogo bolje performanse u usporedbi s Bashom. | Kada se radi o izvršavanju naredbi i skripti, performanse Basha su pristojne. |
Značajke programiranja | KSH pruža superiorne i mnogo više mogućnosti programiranja u usporedbi s Bashom. | Programske značajke Basha su inferiorne u usporedbi s KSH. Međutim, Bash također ima mnogo mogućnosti programiranja. |
naredba | KSH koristi naredbu print za ispis izlaza, što je bolje od Bash-a. | Bash koristi naredbu echo za ispis izlaza. |
Resursi | KSH je razvijen prije Basha, tako da ima malo resursa u KSH u usporedbi s Bashom. | Bash je nova ljuska i kao rezultat toga ima mnogo resursa i popularnija je u usporedbi s KSH. |
Skripte | Zbog starije sintakse, skripte KSH-a su manje čitljive. | Zbog novije sintakse, Bash skripte su čitljive i razumljive. |
Što je KSH?
KSH ili Korn shell odnosi se na UNIX shell koji je razvio Sir David Korn ranih 1980-ih. KSH je razvijen prije mnogo godina, prije stvaranja Basha.
Kako je razvijen prije mnogo godina, ima manje resursa u usporedbi s Bashom. Kao rezultat toga, vrlo malo ljudi sada koristi KSH.
Razvijen je kao kombinirana sveobuhvatna verzija drugih važnih UNIX školjki. Uključuje svaku značajku Tab C-shell i C shell te značajke skriptnog jezika Bourneovih ljuski.
Bourneova granata se tada smatrala najboljom granatom u pogledu učinkovitosti. Najpopularnije Unix ljuske su C shell, Bourne shell i Korn shell.
KSH je član Bourneove obitelji školjki i vrlo je jednostavan za korištenje. Kao rezultat toga, neiskusni korisnici preferiraju KSH.
Naredba 'r history' KSH-a je vrlo dobra jer svojim korisnicima omogućuje vrlo brz povratak na starije naredbe. Naredba za ispis KSH-a tijekom ispisa izlaza vrlo je učinkovita.
KSH također pruža vrhunske mogućnosti programiranja.
Binarna veličina KSH interpretera je 1.6 MB. Zbog starije sintakse, skripte KSH-a su manje čitljive. KSH također ima neke asocijativne nizove i lako se može učinkovito nositi sa sintaksom petlje.
Što je Bash?
Bash ili Bourne Again Shell bila je nadograđena verzija programa Bourne Shell pod nazivom 'sh' koji je napisao Brian Fox.
Razvio ga je FSF (Freeware Software Foundation) te je licenciran i napisan pod Općom javnom licencom (GPL).
Bash je poboljšao mnoge značajke Bourne Shell za interaktivnu i programsku upotrebu. Uključuje značajke kao što su povijest naredbi, uređivanje naredbenog retka, vezanje ključeva i još mnogo toga.
Za mac OS Applea i većinu Linuxa Bash djeluje kao zadana ljuska za prijavu. Također mu se može pristupiti iz sustava Windows 10. U mnogim načinima Linuxa sada je zadana ljuska.
Bash se odnosi na interpreter naredbenog retka koji radi u tekstualnom prozoru. Korisnici tumače naredbe za provođenje nekoliko radnji.
Skup ovih različitih naredbi naziva se Shell Script (kao niz unutar datoteke). Bash čita te naredbe iz Shell skripte i izvršava ih za izvođenje nekoliko radnji.
U usporedbi s KSH, Bash je popularniji, noviji, a također ima više resursa jer se nedavno razvio. Kao rezultat toga, olakšava učenje pomoću Basha.
Dvije najvažnije prednosti Basha su jednostavna metoda brzih postavki za prikaz trenutnog direktorija i dovršetak kartice.
Glavne razlike između KSH i Bash
- Kada se radi o izvršavanju naredbi i skripti, KSH daje mnogo bolje performanse u usporedbi s Bashom, s druge strane, kada se radi o izvršavanju naredbi i skripti, performanse Basha su pristojne.
- KSH pruža superiorne i mnogo više mogućnosti programiranja u usporedbi s Bashom. Programske značajke Basha su inferiorne u usporedbi s KSH. Međutim, Bash također ima mnogo mogućnosti programiranja.
- KSH koristi naredbu print za ispis izlaza, što je bolje od Bash-a. Bash koristi naredbu echo za ispis izlaza.
- KSH je razvijen prije Basha, tako da ima malo resursa u KSH u usporedbi s Bashom. Bash je nova ljuska i kao rezultat toga ima mnogo resursa i popularnija je u usporedbi s KSH.
- Zbog starije sintakse, skripte KSH-a su manje čitljive, ali zbog novije sintakse, skripte Bash-a su čitljive i razumljive.
- https://scholar.google.com/scholar?hl=en&as_sdt=0%2C5&q=korn+shell&oq=korn+she#d=gs_qabs&u=%23p%3Dzna0kMa6N3MJ
- https://scholar.google.com/scholar?hl=en&as_sdt=0%2C5&q=Bash&btnG=#d=gs_qabs&u=%23p%3DYFtvOe41MKUJ
Zadnje ažuriranje: 11. lipnja 2023
Sandeep Bhandari ima diplomu inženjera računala na Sveučilištu Thapar (2006.). Ima 20 godina iskustva u području tehnologije. Ima veliki interes za razna tehnička područja, uključujući sustave baza podataka, računalne mreže i programiranje. Više o njemu možete pročitati na njegovom bio stranica.
Usporedba resursa pomogla mi je da bolje razumijem razlike, hvala!
Detaljna usporedba KSH i Bash je vrlo korisna, hvala vam na dijeljenju.
Objašnjenje je bilo fantastično, vrlo jasno i sažeto!
Slažem se, to je bio izvrstan post!
Nevjerojatno je koliko je informacija uključeno u ovaj post. Hvala puno!
Smatram da je usporedba performansi između KSH i Bash vrlo zanimljiva, odličan post!
Cijenim trud uložen u pružanje tako informativnog članka.