Zsh vs Bash - Топ 36 разлики, които трябва да знаете

Съдържание:

Anonim

Разлика между Zsh срещу Bash

  • Zsh се нарича Z Shell, което е разширение на Bash, което има много нови функции и теми. Zsh е освободен през 1990 г. от Пол Фалстад. Zsh също има сходства с Korn черупка. Linux и Mac OS използват Bash като черупка по подразбиране.
  • Bash е съкращението на черупката на Bourne-отново. През 1971 г. операционната система UNIX е пусната заедно с черупката на Thompson. През 1979 г. черупката на Томпсън е модифицирана и пусната като черупка на Борн. Брайън Фокс пусна Bash през 1989 г. за своя проект, който осигури подобрения от предишните му версии. Bash release подобри използването му като скриптов език. Zsh по подразбиране е различен от Bash.

Сравнение между главата на Zsh срещу Bash (Инфографика)

По-долу е топ 36 сравнението между Zsh срещу Bash:

Ключови разлики между Zsh срещу Bash

Нека да обсъдим някои от основните ключови разлики между Zsh срещу Bash:

  • Zsh е по-интерактивен и персонализируем от Bash.
  • Zsh има поддръжка с плаваща запетая, която Bash не притежава.
  • Структурите за данни на Hash се поддържат в Zsh, които не присъстват в Bash.
  • Функциите за извикване в Bash са по-добри в сравнение с Zsh.
  • Бързият поглед може да се контролира в Bash, докато Zsh е персонализируем.
  • Конфигурационните файлове са .bashrc в интерактивни черупки без вход и .profile или .bash_profile в черупки за вход на Bash. В Zsh черупките без вход са .zshrc, а черупките за вход са .zprofile.
  • Zsh масивите са индексирани от 1 до дължина, докато Bash е индексиран от -1 до дължина.
  • В Zsh, ако моделите с заместващи символи не съвпадат с нито един файл, той хвърля грешка. Докато сте в Bash, той остава непроменен.
  • Дясната страна на тръбопровода се изпълнява като родителска обвивка в Zsh, докато в Bash, тя се изпълнява като допълнителна обвивка.
  • В Zsh функцията zmv се използва за масово преименуване, докато в Bash трябва да използваме функция за разширение на параметрите.
  • Bash има добри сценарийни възможности в една линия, докато в Zsh не можем да намерим същото.
  • Изходът се съхранява във временен файл по подразбиране в Zsh, докато в Bash не е.
  • Много вградени функции в Bash правят сложните програми лесни, докато в Zsh вградените функции за сложни програми са по-малко.
  • Zsh управлява ефективно файловете си, докато Bash не е добър в работата с файловете си.

Таблица за сравнение на Zsh срещу Bash

Таблицата по-долу обобщава сравненията между Zsh vs Bash:

Ср не.Zshудрям

1

Потребителите са по-малко в сравнение с BashПотребителите са повече, а оттам и подкрепата на общността

2

Автоматичното завършване е по-бързоАвтоматичното завършване не е по-бързо като Zsh

3

Zsh има вградено разширено заместванеBash няма вградено разширяване на wildcard

4

Попълването на раздели е като падащо меню в Zsh.Завършването на раздели е като команден изход в Bash.

5

Zsh има псевдоними на префикс и суфикс.Bash няма псевдоними на префикс и суфикс.

6

Zsh следва стандарта POSIX по-отблизо.Bash не следва стандарта POSIX толкова, колкото Zsh.

7

Zsh функционалността е по-конфигурируема.Функцията Bash не е много конфигурируема.

8

Разделът се използва за навигация между опциите.Няма такава опция в Bash.

9

Zsh има много теми и плъгиниОпцията bash за теми и плъгини е по-малка.

10

Промяна в името на директория може да се направи лесно в Zsh.Името на директорията не може да бъде променено автоматично в Bash.

11

Zsh ще поправи правописа и завършването на думите.Bash няма да поправи нищо сам.

12

Докато приема стойността на променлива, Zsh има много начини да приложи трансформацията.Bash има много малко начини да приложи трансформацията към променливата.

13

Класификаторите на Glob в Zsh показват съвпадащи файлове, които са базирани на метаданни.Bash няма никакви квалификации за Glob.

14

Допълнителните шаблони на wildcard се активират автоматично в Zsh.В Bash са активирани допълнителни шаблони с малки символи с помощта на shog -s extglob.

15

# не се третира по подразбиране като Zsh като коментар.В Bash # се счита за коментар по подразбиране.

16

Zsh има настройки за setopt.Bash има заснети настройки.

17

Zsh завършва имената на командите и файловете, като изпълнява compinit.Bash завършва имената на командите и файловете, като стартира bash_completion.

18

Zsh е по-прецизен и ако нещо не е наред, показва грешка.Bash прави сам неща, които може да не са правилни, но разумни.

19

Zsh подканата съдържа проценти избягания.Подкачването на Bash има обратни наклони.

20

Използвайки Zsh, можем да изградим фантастични подкани.В Bash не сме в състояние да изградим фантастични подсказки.

21

Обвързването на ключовете в Zsh се извършва от bindkey. Вградената.Bash използва .inputrc и bind вградения за свързване на ключовете.

22

Настройките на потребителската конфигурация се съхраняват в .zshrc.Настройките на потребителската конфигурация се съхраняват в .bashrc.

23

Zsh има Oh-my-Zsh общността, за да помогне в сценариите.Bash няма определена общност като такава, но тъй като е стар, има много онлайн общности, които да подкрепят в сценариите.

24

Zsh може да показва сплит екран, подобен на разделителния екран на vim.Няма такава опция в Bash.

25

Изчисленията могат да се правят в Zsh с помощта на команда zcalc.Expr и bc външен калкулатор се използва в Bash за извършване на изчисления.

26

В Zsh командата zparseopts се използва за анализ на скрипта.Вградената команда Getopts се използва в Bash за анализиране на скриптове.

27

Разширените псевдоними са разрешени навсякъде в реда, ако псевдонимът се използва в командата.Bash не позволява тази функция в реда.

28

Скриптовете на околната среда на Zsh са zlogin, zlogout, zprofile, zshenv, zshrc.Bash няма много скриптове на околната среда.

29

Докато правите стартиране, шелоптите не се изпълняват.Shellopts се стартира автоматично, докато стартирате Bash.

30

Скриптовете не са толкова добри в сравнение с Bash.Bash има добри сценарийни възможности.

31

Историята се споделя във всички случаи в ZshСподелянето на историята не е толкова лесно в Bash.

32

Zsh изобщо не е подобен на Emacs.Клавишните комбинации в Bash са много подобни на Emacs.

33

Персонализирането се извършва по време на инсталационния процес в Zsh.Персонализирането се извършва чрез проверка на настройките за конфигурация в Bash.

34

Конфигурационните файлове не са лесни за изследване.Конфигурационните файлове се правят лесно в Bash.

35

Zsh има много разширени функции.Функциите не са разширени.

36

Автоматичното завършване е функция на Zsh.За автоматично попълване трябва да бъдат инсталирани плъгини на трети страни.

заключение

Функциите за интерактивна конфигурация имат много разлики при сравняване на Zsh и Bash. Zsh е известен със своята разширяемост, добро персонализиране и усъвършенствани функции. Тъй като Zsh е направен от Bash, почти 90% от сценариите са подобни и той е съвместим с Bash. Както Zsh, така и Bash имат много прилики и са лесно преносими. Много системи започнаха да използват Zsh като обвивка по подразбиране.

Препоръчителни статии

Това е ръководство за Zsh vs Bash. Тук също обсъждаме ключовите разлики в Zsh срещу Bash с сравнение между главата (инфографиката) и таблицата за сравнение. Може да разгледате и следните статии, за да научите повече-

  1. Ръст срещу C ++
  2. Физически адрес срещу логически адрес
  3. Списък срещу комплект - полезни сравнения
  4. Array срещу ArrayList