Rozdíl mezi Zsh vs Bash

  • Zsh se nazývá Z Shell, což je rozšíření Bash, které má mnoho nových funkcí a témat. Zsh byl propuštěn v roce 1990 Paul Falstad. Zsh má podobnost s Korn shellem. Linux a Mac OS používají Bash jako jejich výchozí shell.
  • Bash je zkratka Bourneovy znovu skořápky. V roce 1971 byl vydán operační systém UNIX spolu s shellem Thompson. V roce 1979, Thompson shell byl upraven a povolený jako Bourne shell. Brian Fox vydal Bash v roce 1989 pro svůj projekt, který poskytoval vylepšení z předchozích verzí. Bash verze vylepšila jeho použití jako skriptovací jazyk. Výchozí Zsh se liší od Bash.

Srovnání hlava-hlava mezi Zsh vs Bash (infografika)

Níže je prvních 36 srovnání mezi Zsh vs Bash:

Klíčové rozdíly mezi Zsh vs Bash

Pojďme diskutovat o některých hlavních klíčových rozdílech mezi Zsh vs Bash:

  • Zsh je interaktivnější a přizpůsobitelnější než Bash.
  • Zsh má podporu s pohyblivou řádovou čárkou, kterou Bash nevlastní.
  • V Zsh jsou podporovány datové struktury hash, které v Bash nejsou.
  • Funkce vyvolání v Bashu jsou lepší ve srovnání se Zsh.
  • Rychlý vzhled lze ovládat v Bashu, zatímco Zsh je přizpůsobitelný.
  • Konfigurační soubory jsou .bashrc v interaktivních shellech bez přihlášení a .profile nebo .bash_profile v přihlašovacích shellech Bash. V Zsh jsou bez přihlašovací skořápky .zshrc a přihlašovací skořápky jsou .zprofile.
  • Pole Zsh jsou indexována od 1 do délky, zatímco Bash je indexována od -1 do délky.
  • V Zsh, pokud zástupné vzory neodpovídají žádnému souboru, vyvolá chybu. V Bash je ponechán beze změny.
  • Pravá strana potrubí je spuštěna jako nadřazený shell v Zsh, zatímco v Bash je spuštěna jako subshell.
  • V Zsh se používá funkce zmv pro hromadné přejmenování, zatímco v Bashu musíme použít funkci rozšíření parametrů.
  • Bash má dobré skriptovací schopnosti na jednom řádku, zatímco v Zsh jsme to nenašli.
  • Výstup je ve výchozím nastavení uložen v dočasném souboru v Zsh, zatímco v Bash není.
  • Mnoho vestavěných funkcí v Bash usnadňuje složité programy, zatímco v Zsh jsou vestavěné funkce pro komplexní programy méně.
  • Zsh spravuje své soubory efektivně, zatímco Bash neumí ovládat své soubory.

Srovnávací tabulka Zsh vs Bash

Níže uvedená tabulka shrnuje srovnání mezi Zsh vs Bash:

Sr ne.ZshBash

1

Uživatelé jsou ve srovnání s Bashem méněUživatelé jsou více, a proto i komunitní podpora

2

Automatické dokončení je rychlejšíAutomatické dokončení není rychlejší jako Zsh

3

Zsh má inline zástupné rozšířeníBash nemá inline zástupné rozšíření

4

Dokončení karty je jako rozbalovací nabídka v Zsh.Dokončení karty je jako výstup příkazu v Bash.

5

Zsh má aliasy příkazů prefixů a přípon.Bash nemá aliasy příkazů prefixů a přípon.

6

Zsh se blíží standardu POSIX.Bash nedodržuje standard POSIX tolik jako Zsh.

7

Funkčnost Zsh je konfigurovatelnější.Funkce bash není moc konfigurovatelná.

8

Karta slouží k navigaci mezi možnostmi.Ve službě Bash není taková možnost k dispozici.

9

Zsh má mnoho témat a pluginůMožnost bash pro témata a doplňky je menší.

10

Změnu názvu adresáře lze snadno provést v Zsh.Název adresáře nelze v Bashu automaticky změnit.

11

Zsh opraví pravopis a doplnění slov.Bash sám nic neopraví.

12

Zatímco Zsh má hodnotu proměnné, Zsh má mnoho způsobů, jak aplikovat transformaci.Bash má velmi málo způsobů, jak aplikovat transformaci na proměnnou.

13

Kvalifikátory globů v Zsh ukazují shodné soubory, které jsou založeny na metadatech.Bash nemá žádné kvalifikátory Glob.

14

Extra zástupné vzory jsou v Zsh povoleny automaticky.V Bash jsou pomocí zástupných šablon extglob povoleny další zástupné vzory.

15

# se ve Zsh ve výchozím nastavení nepovažuje za komentář.V Bash je # ve výchozím nastavení považován za komentář.

16

Zsh má nastavení nastavení.Bash má šokující nastavení.

17

Zsh dokončí názvy příkazů a souborů spuštěním compinit.Bash dokončí názvy příkazů a souborů spuštěním bash_completion.

18

Zsh je přesnější a pokud něco není v pořádku, ukazuje to chybu.Bash dělá věci sám o sobě, které nemusí být správné, ale rozumné.

19

Výzva Zsh obsahuje procenta úniků.Bash prompt má zpětné lomítko.

20

Pomocí Zsh můžeme vytvářet fantastické výzvy.V Bashi nejsme schopni vytvářet fantastické výzvy.

21

Vazebné klíče v Zsh se provádí vazebným klíčem. vestavěný.Bash používá k propojení klíčů .inputrc a build built.

22

Nastavení uživatelské konfigurace jsou uloženy v .zshrc.Nastavení uživatelské konfigurace jsou uložena v .bashrc.

23

Zsh má komunitu Oh-my-Zsh, která pomáhá při skriptování.Bash nemá definovanou komunitu jako takovou, ale protože je stará, existuje mnoho online komunit, které podporují skriptování.

24

Zsh může zobrazit rozdělenou obrazovku podobnou rozdělené obrazovce vim.Ve službě Bash není taková možnost k dispozici.

25

Výpočty lze provádět v Zsh pomocí příkazu zcalc.Expr a bc externí kalkulačka se používá v Bash k výpočtu.

26

V Zsh se příkaz zparseopts používá k analýze skriptu.Vestavěný příkaz Getopts se v Bashu používá k analýze skriptů.

27

Rozšířené aliasy jsou povoleny kdekoli na řádku, pokud je alias použit v příkazu.Bash neumožňuje tuto funkci v řádku.

28

Skripty prostředí Zsh jsou zlogin, zlogout, zprofile, zshenv, zshrc.Bash nemá mnoho skriptů prostředí.

29

Během spouštění se škrty neběží.Shellopts se spustí automaticky při spuštění Bash.

30

Skriptování není ve srovnání s Bash tak dobré.Bash má dobré skriptovací schopnosti.

31

Historie je sdílena ve všech případech v ZshSdílení Bash v historii není tak snadné.

32

Zsh není vůbec podobný Emacsu.Klávesové zkratky v Bashu jsou velmi podobné Emacs.

33

Přizpůsobení se provádí během procesu instalace v Zsh.Přizpůsobení se provádí kontrolou nastavení konfigurace v Bash.

34

Konfigurační soubory není snadné prozkoumat.Konfigurační soubory jsou v Bashu snadné.

35

Zsh má mnoho pokročilých funkcí.Funkce nejsou pokročilé.

36

Automatické dokončení je funkcí Zsh.Pro automatické dokončení musí být nainstalovány doplňky třetích stran.

Závěr

Interaktivní konfigurační funkce mají při porovnání Zsh a Bash mnoho rozdílů. Zsh je známá svou rozšiřitelností, dobrým přizpůsobením a pokročilými funkcemi. Protože Zsh je vyroben z Bash, téměř 90% skriptování je podobné a je kompatibilní s Bash. Zsh i Bash mají mnoho podobností a jsou snadno přenosné. Mnoho systémů začalo používat Zsh jako svůj výchozí shell.

Doporučené články

Toto je průvodce Zsh vs Bash. Zde také diskutujeme klíčové rozdíly mezi Zsh vs Bash s porovnáváním hlava-hlava (infografika) a srovnávací tabulkou. Další informace naleznete také v následujících článcích.

  1. Rust vs C ++
  2. Fyzická adresa vs. logická adresa
  3. Seznam vs Set - užitečné srovnání
  4. Array vs ArrayList

Kategorie: