Razlika med Zsh proti Bashu
- Zsh se imenuje Z Shell, ki je podaljšek Bash-a, ki ima številne nove funkcije in teme. Zsh je leta 1990 izdal Paul Falstad. Zsh ima podobnosti tudi s kornovo lupino. Linux in Mac OS uporabljata Bash kot privzeto lupino.
- Bash je okrajšava lupine Bourne-again. Leta 1971 je bil izdan operacijski sistem UNIX skupaj z lupino Thompson. Leta 1979 je bila lupina Thompsona spremenjena in izdana kot Bourneova lupina. Brian Fox je leta 1989 izdal Bash-a za njegov projekt, ki je izboljšal prejšnje različice. Bash javnost je izboljšala njegovo uporabo kot skriptni jezik. Privzeti Zsh se razlikuje od Bash-a.
Primerjava med nogami med Zsh in Bash (Infographics)
Spodaj je zgornja 36 primerjava med Zsh proti Bashu:
Ključne razlike med Zsh proti Bashu
Pogovorimo se o nekaterih glavnih ključnih razlikah med Zsh proti Bashu:
- Zsh je bolj interaktiven in prilagodljiv kot Bash.
- Zsh ima podporo s plavajočo vejico, ki je Bash nima.
- Podatkovne strukture Hash so podprte v Zsh, ki jih v Bashu ni.
- Funkcije priklica v Bashu so boljše v primerjavi z Zsh.
- Hitri videz lahko nadzorujete v Bashu, medtem ko je Zsh prilagodljiv.
- Konfiguracijske datoteke so .bashrc v neregistriranih interaktivnih lupinah in .profile ali .bash_profile v prijavnih lupinah Bash. V Zsh so ne-prijavne lupine .zshrc, prijavne lupine pa .zprofile.
- Zsh nizi so indeksirani od 1 do dolžine, medtem ko je Bash indeksiran od -1 do dolžine.
- V vzorcu Zsh, če vzorci nadomestnih znakov ne ustrezajo nobeni datoteki, vrže napako. Medtem ko je v Bashu, ostane nespremenjen.
- Desna stran cevovoda poteka kot nadrejena lupina v Zsh-u, medtem ko se v Bash-u vodi kot poddružina.
- V Zsh funkcijo zmv uporabljamo za množično preimenovanje, medtem ko moramo v Bashu uporabiti funkcijo razširitve parametrov.
- Bash ima dobre scenarije v eni liniji, medtem ko v Zshu nismo mogli najti enakega.
- Izhod je privzeto shranjen v začasno datoteko v Zsh, medtem ko v Bashu ni.
- Številne vgrajene funkcije v Bashu olajšajo zapletene programe, medtem ko je v Zsh vgrajenih funkcij za kompleksne programe manj.
- Zsh učinkovito upravlja s svojimi datotekami, medtem ko Bash ni dober v upravljanju datotek.
Primerjalna tabela Zsh proti Bashu
Spodnja tabela povzema primerjave med Zsh proti Bashu:
Sr št. | Zsh | Bash |
1 | Uporabnikov je v primerjavi z Bashom manj | Uporabnikov je več in s tem tudi podpora skupnosti |
2 | Samodejno dokončanje je hitrejše | Samodejno dokončanje ni hitrejše kot Zsh |
3 | Zsh ima vgrajeno razširitev nadomestnih znakov | Bash nima vdelane širitve nadomestnih znakov |
4 | Dokončanje zavihka je kot spustni meni v Zsh. | Dokončanje zavihka je kot ukazni izhod v Bash-u. |
5 | Zsh ima vzdevke vnosa predpone in pripone. | Bash nima vzdevkov ukazi predpone in priponk. |
6 | Zsh podrobneje sledi standardu POSIX. | Bash ne ustreza standardu POSIX toliko kot Zsh. |
7 | Zsh funkcionalnost je bolj nastavljiva. | Bash funkcionalnosti ni veliko konfigurirati. |
8 | Zavihek se uporablja za krmarjenje med možnostmi. | Taka možnost v Bashu ni na voljo. |
9 | Zsh ima veliko tem in vtičnikov | Možnosti bash za teme in vtičnike je manj. |
10 | Spremembo imena imenika je mogoče enostavno opraviti v Zsh. | Imena imenika v Bashu ni mogoče samodejno spremeniti. |
11 | Zsh bo popravil črkovanje in dopolnitev besed. | Bash sam po sebi ne bo nič popravil. |
12 | Medtem ko vrednost spremenljivke prevzame, ima Zsh veliko načinov, kako uporabiti transformacijo. | Bash ima zelo malo načinov, kako uporabiti transformacijo spremenljivki. |
13 | Kvalifikatorji Glob v Zsh prikazujejo ujemajoče se datoteke, ki temeljijo na metapodatkih. | Bash nima nobenih kvalifikacij za Glob. |
14 | Dodatni nadomestni vzorci so samodejno omogočeni v Zsh. | V Bashu so dodatni nadomestni vzorci omogočeni s pomočjo shog -s extglob. |
15 | # se v Zsh ne privzeto obravnava kot komentar. | V Bashu je # privzeto obravnavan kot komentar. |
16 | Zsh ima nastavitve za setopt. | Bash je posnel nastavitve. |
17 | Zsh dokonča imena ukazov in datotek z izvajanjem compinit. | Bash zaključi imena ukazov in datotek z izvajanjem bash_completion. |
18 | Zsh je natančnejši in če je nekaj narobe, pokaže napako. | Bash počne stvari sam, kar morda ni pravilno, a smiselno. |
19 | Poziv Zsh vsebuje odstotek pobegov. | Poziv Bash ima poševno poševnico. |
20 | Z Zsh lahko sestavimo domišljijske pozive. | Pri Bashu nismo sposobni sestaviti zanimivih pozivov. |
21 | Vezavne ključe v Zshu opravi bindkey. vgrajena. | Bash za povezovanje tipk uporablja .inputrc in veže vgrajen. |
22 | Uporabniške nastavitve konfiguracije so shranjene v .zshrc. | Uporabniške nastavitve konfiguracije so shranjene v .bashrc. |
23 | Zsh ima Oh-my-Zsh skupnost za pomoč pri pisanju scenarijev. | Bash nima definirane skupnosti kot take, a ker je stara, obstaja veliko spletnih skupnosti, ki bi jih lahko podpirali pri pisanju scenarijev. |
24 | Zsh lahko prikaže split zaslon, podoben vimovim split-screen. | Taka možnost v Bashu ni na voljo. |
25 | Izračune je mogoče izvesti v Zsh z ukazom zcalc. | Zunanji kalkulator Expr in bc se v računih uporablja za izračun. |
26 | V Zsh se za razčlenitev skripta uporablja ukaz zparseopts. | Vgrajeni ukaz Getopts se v Bashu uporablja za razčlenitev skriptov. |
27 | Razširjeni vzdevki so dovoljeni kjer koli v vrstici, če se v ukazu uporablja vzdevek. | Bash ne omogoča te funkcije v vrstici. |
28 | Okoljski skripti Zsh so zlogin, zlogout, zprofile, zshenv, zshrc. | Bash nima veliko okoljskih skriptov. |
29 | Med zagonom se shellopts ne izvaja. | Shellopts se samodejno zažene med zagonom Bash. |
30 | Scenarij ni tako dober v primerjavi z Bashom. | Bash ima dobre skriptne zmogljivosti. |
31 | Zsh zgodovina je deljena v vseh primerih v Zsh | Delitev zgodovine v Bashu ni tako enostavna. |
32 | Zsh sploh ni podoben Emacsu. | Bližnjice v Bashu so zelo podobne Emacsu. |
33 | Prilagoditev se izvede med postopkom namestitve v Zsh. | Prilagoditev se izvede s preverjanjem konfiguracijskih nastavitev v Bash-u. |
34 | Konfiguracijskih datotek ni enostavno raziskati. | V Bashu so konfiguracijske datoteke enostavne. |
35 | Zsh ima številne napredne funkcije. | Funkcije niso napredne. |
36 | Samodejno dokončanje je značilnost Zsh-a. | Za samodejno dokončanje je treba namestiti vtičnike drugih proizvajalcev. |
Zaključek
Funkcije interaktivne konfiguracije imajo veliko razlik, če primerjamo Zsh in Bash. Zsh je znan po svoji razširljivosti, dobri prilagoditvi in naprednih funkcijah. Ker je Zsh narejen iz Basha, je skoraj 90% scenarijev podobnih in je združljivo z Bashom. Tako Zsh kot Bash imata veliko podobnosti in sta lahko prenosljiva. Mnogi sistemi so začeli uporabljati Zsh kot svojo privzeto lupino.
Priporočeni članki
To je vodnik za Zsh proti Bashu. Tukaj razpravljamo tudi o glavnih razlikah Zsh proti Bashu glede na primerjavo med seboj (infographics) in primerjalno tabelo. Za več informacij si lahko ogledate tudi naslednje članke -
- Rust proti C ++
- Fizični naslov proti logičnemu naslovu
- Seznam proti nizu - koristne primerjave
- Array vs ArrayList