В Unix и Linux есть несколько «оболочек». Shell относится к специальной пользовательской программе, которая предлагает своим пользователям интерфейс для использования служб ОС.
Двумя известными оболочками являются KSH и Bash. Это оболочки области компьютерного программирования. Эти два имеют отличительные наборы функций и команд. Обе эти оболочки взаимосвязаны.
Основные выводы
- KSH (KornShell) — более старая оболочка, а BASH (Bourne-Again SHell) — более новая оболочка с дополнительными функциями.
- BASH является оболочкой по умолчанию для большинства дистрибутивов Linux, в то время как KSH чаще используется в системах Unix.
- BASH совместим со сценариями KSH, но не поддерживает все функции BASH.
КШ против Баша
KSH — это интерпретатор команд и язык программирования, совместимый с POSIX. Bash — это расширенная версия оболочки Bourne, разработанная Стивом Борном в 1970-х годах и теперь являющаяся оболочкой по умолчанию в большинстве дистрибутивов Linux. Он поддерживает многие возможности оболочки Korn и имеет дополнительные возможности.

KSH относится к оболочке Unix, разработанной Дэвидом Корном в начале 1980-х годов. Он был разработан по запросу пользователей Bell Lab и содержит несколько функций оболочки C.
KSH также обратно совместим. Существует пять версий KSH: PDKSH, KSH, MKSH, KSH93 и KSH88.
Bash, с другой стороны, относится к клону оболочки Bourne. Он был разработан FSF (Freeware Software Foundation) и написан под лицензией General Public License (GPL).
Оболочка Bash была разработана KSH много лет спустя, поэтому эта новая оболочка имеет несколько новых ресурсов по сравнению с KSH.
Сравнительная таблица
Параметры сравнения | КШ | Колотить |
---|---|---|
Эффективности | При выполнении команд и сценариев KSH дает гораздо лучшую производительность по сравнению с Bash. | При выполнении команд и сценариев производительность Bash приличная. |
Возможности программирования | KSH предоставляет превосходные и гораздо больше возможностей программирования по сравнению с Bash. | Возможности программирования Bash уступают KSH. Тем не менее, Bash также имеет множество функций программирования. |
Command | KSH использует команду печати для печати вывода, что лучше, чем у Bash. | Bash использует команду echo для печати вывода. |
Ресурсы | KSH был разработан раньше, чем Bash, поэтому в KSH мало ресурсов по сравнению с Bash. | Bash — это новая оболочка, поэтому она имеет много ресурсов и более популярна по сравнению с KSH. |
Сценарии | Из-за более старого синтаксиса сценарии KSH менее читабельны. | Благодаря более новому синтаксису сценарии Bash читабельны и понятны. |
Что такое КШ?
KSH или оболочка Korn относится к оболочке UNIX, разработанной сэром Дэвидом Корном в начале 1980-х годов. KSH был разработан много лет назад, еще до создания Bash.
Поскольку он был разработан много лет назад, он имеет меньше ресурсов по сравнению с Bash. В результате очень немногие люди сейчас используют KSH.
Он был разработан как комбинированная комплексная версия других важных оболочек UNIX. Он включает в себя все функции Tab C-shell и C shell, а также функции языка сценариев оболочек Bourne.
Оболочка Борна тогда считалась лучшей оболочкой с точки зрения эффективности. Наиболее популярными оболочками Unix являются оболочка C, оболочка Bourne и оболочка Korn.
KSH является членом семейства оболочек Bourne и очень прост в использовании. В результате неопытные пользователи предпочитают KSH.
Команда «r history» KSH очень хороша, поскольку позволяет пользователям очень быстро вернуться к более старым командам. Команда печати KSH при печати вывода очень эффективна.
KSH также предоставляет превосходные возможности программирования.
Двоичный размер интерпретатора KSH составляет 1.6 МБ. Из-за более старого синтаксиса сценарии KSH менее читабельны. KSH также имеет несколько ассоциативных массивов и может легко обрабатывать синтаксис цикла.
Что такое Баш?
Bash или Bourne Again Shell была обновленной версией программы Bourne Shell под названием «sh», написанной Брайаном Фоксом.
Он был разработан FSF (Freeware Software Foundation) и написан под лицензией General Public License (GPL).
Bash улучшил многие функции Bourne Shell как для интерактивного использования, так и для программирования. Он включает в себя такие функции, как история команд, редактирование командной строки, привязки клавиш и многое другое.
Для Mac OS Apple и большинства Linux Bash выступает в качестве оболочки входа по умолчанию. К нему также можно получить доступ из Windows 10. Во многих режимах Linux теперь это оболочка по умолчанию.
Bash — это интерпретатор командной строки, работающий в текстовом окне. Пользователи интерпретируют команды для выполнения нескольких действий.
Набор этих различных команд называется сценарием оболочки (как последовательность в файле). Bash считывает эти команды из сценария оболочки и выполняет их для выполнения нескольких действий.
По сравнению с KSH, Bash более популярен, более поздний, а также имеет больше ресурсов, поскольку он был разработан в последнее время. В результате обучение использованию Bash упрощается.
Два наиболее важных преимущества Bash — это простой метод настройки подсказки для отображения текущего каталога и завершения вкладки.
Основные различия между KSH и Bash
- При выполнении команд и сценариев KSH дает гораздо лучшую производительность по сравнению с Bash, с другой стороны, при выполнении команд и сценариев производительность Bash приличная.
- KSH предоставляет превосходные и гораздо больше возможностей программирования по сравнению с Bash. Возможности программирования Bash уступают KSH. Тем не менее, Bash также имеет множество функций программирования.
- KSH использует команду печати для печати вывода, что лучше, чем у Bash. Bash использует команду echo для печати вывода.
- KSH был разработан раньше, чем Bash, поэтому в KSH мало ресурсов по сравнению с Bash. Bash — это новая оболочка, поэтому она имеет много ресурсов и более популярна по сравнению с KSH.
- Из-за более старого синтаксиса сценарии KSH менее читабельны, но из-за более нового синтаксиса сценарии Bash читаемы и понятны.