Баш против Даш
Содержание
Dash - это оболочка, которая по современным стандартам плохо подходит для использования при использовании в качестве интерактивной оболочки для входа в систему, но быстрее исполняет POSIX-совместимые сценарии, чем Bash.Bash, имеет гораздо больше функций и особенно предпочтительна при использовании в интерактивном режиме (хотя она и содержит больше возможностей программирования тоже). Bash обычно предоставляется в качестве интерактивной оболочки по умолчанию, в то время как Debian и производные Debian, такие как Ubuntu, предоставляют Dash в качестве реализации / bin / sh, в результате чего сценарии с #! / Bin / sh shebangs интерпретируются Dash, а не Bash по умолчанию. Для сценариев, для выполнения которых требуется Bash, Bash по-прежнему будет использоваться в качестве интерпретатора, если шебанг будет #! / Bin / bash. Большое количество экземпляров оболочки запускается как часть процесса загрузки Ubuntu. Вместо того, чтобы менять каждый из них по отдельности для явного запуска в / bin / dash, изменения, которые потребовали бы значительного постоянного обслуживания и которые могли бы регрессировать, если бы не уделить пристальное внимание, команда разработчиков ядра Ubuntu считала, что лучше всего просто изменить оболочка по умолчанию.
Содержание: Разница между Bash и Dash
- Что такое Баш?
- Что такое Дэш?
- Ключевые отличия
- Видео Объяснение
Что такое Баш?
Bash - это оболочка Bourne-Again. Bash - превосходная полнофункциональная оболочка, подходящая для интерактивного использования; действительно, это все еще оболочка входа по умолчанию. Bash разработан для людей и предоставляет расширенный набор функций POSIX.
Что такое Дэш?
Dash - это оболочка Debian Almquist. Dash реализует Single Unix Spec, поэтому ему не нужно делать больше, чтобы соответствовать этой формальной спецификации. Тире для неинтерактивного выполнения скрипта. Dash поддерживает только POSIX-совместимые функции.
Ключевые отличия
- Bash - превосходная полнофункциональная оболочка, подходящая для интерактивного использования; действительно, это все еще оболочка входа по умолчанию. Тем не менее, он довольно большой и медленно запускается и работает по сравнению с тире.
- Dash реализует Single Unix Spec, поэтому ему не нужно делать больше, чтобы соответствовать этой формальной спецификации. Но некоторые из «bashisms» удобны, мало что добавят к размеру тире и значительно упростят использование тире в качестве альтернативы.
- Многие сценарии оболочки, содержащие команду set -k, не поддерживаются dash, но поддерживаются bash.
- Bash Поддерживает те же команды сценариев, что и Dash, а также свои собственные дополнительные команды. Dash поддерживает только POSIX-совместимые функции.
- Bash предназначен для людей и предоставляет расширенный набор функций POSIX, Dash для неинтерактивного выполнения скриптов.
- Bash поддерживает завершение табуляции и поддерживает историю команд.
- Тире всего 100K по сравнению с Bash 900K.
- Dash предназначен для более быстрого запуска и выполнения скриптов по сравнению с Bash.