Zsh vs Bash - 36 найкращих відмінностей, які ви повинні знати

Зміст:

Anonim

Різниця між Зш проти Баша

  • Zsh називається Z Shell - це розширення Bash, яке має багато нових функцій та тем. Зш був звільнений у 1990 році Полом Фальстадом. Zsh має схожість і з оболонкою Korn. Linux та Mac OS використовують Bash як оболонку за замовчуванням.
  • Bash - це абревіатура оболонки Борна. У 1971 році операційна система UNIX була випущена разом із оболонкою Томпсона. У 1979 році панцир Томпсона був модифікований і випущений як оболонка Борна. Брайан Фокс випустив Bash у 1989 році для свого проекту, який забезпечив удосконалення попередніх версій. Випуск Bash розширив його використання в якості мови сценаріїв. Zsh за замовчуванням відрізняється від Bash.

Порівняння між «Зш і Баш» (Інфографіка)

Нижче наведено найкраще 36 порівняння між Zsh vs Bash:

Ключові відмінності між Zsh і Bash

Давайте обговоримо деякі основні ключові відмінності між Zsh і Bash:

  • Zsh є більш інтерактивним і настроюваним, ніж Bash.
  • Zsh має підтримку з плаваючою комою, якої не має Баш.
  • Структури даних 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 vs Bash

У таблиці нижче наведено порівняння між Zsh і Bash:

Ср. Ні.ЗшБаш

1

Користувачів менше в порівнянні з BashКористувачів більше, а отже, і підтримки громади

2

Автоматичне завершення відбувається швидшеАвтоматичне завершення не швидше, ніж Zsh

3

Zsh має вбудовану маску розширенняBash не має вбудованого підстановочного символу

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 показують відповідні файли, засновані на метаданих.У Баша немає жодних кваліфікацій Глобу.

14

Додаткові шаблони підключення підключені автоматично в Zsh.У Bash додаткові шаблони підключення підключені за допомогою shog -s extglob.

15

# не розглядається як коментар за замовчуванням у Zsh.У Bash # за замовчуванням вважається коментарем.

16

Zsh має налаштування setopt.Bash знімав налаштування.

17

Zsh завершує імена команд і файлів, виконуючи compinit.Bash завершує імена команд і файлів, виконуючи bash_completion.

18

Zsh більш точний, і якщо щось не так, воно показує помилку.Bash робить речі самі по собі, які можуть бути не правильними, але розумними.

19

Підказка Zsh містить відсотки пропусків.Bash prompt має звороту косу рису.

20

Використовуючи Zsh, ми можемо створювати привабливі підказки.У Bash ми не в змозі створити привабливі підказки.

21

Прив’язування ключів у Zsh виконується bindkey. вбудований.Bash використовує .inputrc і вбудований вбудований файл для прив'язки ключів.

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 має хороші можливості сценарію.

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 vs Bash з порівнянням голови до голови (інфографіка) та таблицею порівняння. Ви також можете переглянути наступні статті, щоб дізнатися більше -

  1. Іржа проти C ++
  2. Фізична адреса проти логічної адреси
  3. Список проти набору - корисні порівняння
  4. Array vs ArrayList