Bash vs. Dash

Автор: Laura McKinney
Дата Створення: 6 Квітень 2021
Дата Оновлення: 16 Травень 2024
Anonim
Dash Is The Only Acceptable Symlink For /bin/sh
Відеоролик: Dash Is The Only Acceptable Symlink For /bin/sh

Зміст

Dash - це оболонка, яка має слабку зручність використання за сучасними стандартами, коли використовується як інтерактивна оболонка для входу, але швидша у виконанні сценаріїв, сумісних з POSIX, ніж Bash.Bash має багато більше функцій і особливо бажана при інтерактивному використанні (хоча вона містить більше функцій програмування теж). Bash зазвичай надається як інтерактивна оболонка за замовчуванням, тоді як Debian та похідні Debian, такі як Ubuntu, надають Dash як / bin / sh реалізацію, тим самим спричиняючи, що сценарії з шебангами #! / Bin / sh інтерпретуються Dash, а не Bash за замовчуванням. Для сценаріїв, які вимагають Bash для виконання, Bash як і раніше буде використовуватися як інтерпретатор, якщо shebang є #! / Bin / bash. Велика кількість екземплярів оболонок запускається як частина завантажувального процесу Ubuntu. Замість того, щоб змінити кожного з них окремо, щоб явно запускатись під / bin / dash, зміна, яка потребує значного постійного технічного обслуговування, і яка може піддаватися регресу, якщо не звертати пильної уваги, команда розробників Ubuntu вважала, що найкраще просто змінити оболонка за замовчуванням.


Зміст: Різниця між Bash і Dash

  • Що таке Баш?
  • Що таке тире?
  • Ключові відмінності
  • Відео Пояснення

Що таке Баш?

Bash - оболонка Bourne-Again. Bash - відмінна повнофункціональна оболонка, яка підходить для інтерактивного використання; Дійсно, це як і раніше оболонка для входу за замовчуванням. Bash призначений для людей і забезпечує набір функцій POSIX.

Що таке тире?

Dash - оболонка альмвіста Debian. Dash реалізує Single Unix Spec, тоді йому не потрібно робити більше, щоб відповідати цій формальній специфікації. Dash призначений для неінтерактивного виконання сценарію. Dash підтримує лише сумісні з POSIX функції.

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

  1. Bash - відмінна повнофункціональна оболонка, яка підходить для інтерактивного використання; Дійсно, це як і раніше оболонка для входу за замовчуванням. Однак він досить великий і повільний, щоб запустити та працювати в порівнянні з тире.
  2. Dash реалізує Single Unix Spec, тоді йому не потрібно робити більше, щоб відповідати цій формальній специфікації. Але деякі з "башизмів" є зручними, мало додають розміру тире і полегшують використання тире як альтернативи.
  3. Багато скриптів оболонки, що містять набір команд –k, не підтримуються тире, але підтримуються bash.
  4. Bash Підтримує ті ж команди сценаріїв, що і Dash, а також власні додаткові команди, Dash Only підтримує POSIX-сумісні функції.
  5. Bash призначений для людей і забезпечує набір функцій POSIX, Dash - для неінтерактивного виконання сценарію.
  6. Bash підтримує завершення вкладки та підтримує історію команд.
  7. Dash - це лише 100K порівняно з 900K Баша.
  8. Dash призначений для швидшого запуску та виконання сценарію порівняно з Bash.