Введение
Командный интерпретатор для операционных систем
Оболочка Bourne (sh) — это командный интерпретатор для компьютерных операционных систем. Оболочка Bourne была оболочкой по умолчанию в Unix версии 7. В Unix-подобных системах по-прежнему существует /bin/sh, которая представляет собой оболочку Bourne, символическую или жесткую ссылку на совместимую оболочку, даже если большинство пользователей используют другие оболочки. Разработанная Стивеном Борном в Bell Labs, она заменила оболочку Томпсона, исполняемый файл которой имел то же имя — sh. Она была выпущена в 1979 году в составе Unix версии 7, распространявшейся в колледжах и университетах. Хотя она используется как интерактивный командный интерпретатор, она также предназначалась для использования в качестве языка сценариев и содержит большинство функций, обычно необходимых для создания структурированных программ. Она приобрела популярность после публикации книги "The Unix Programming Environment" Брайана Кернигана и Роба Пайка — первой коммерчески изданной книги, представившей оболочку как язык программирования в форме учебного пособия.
Облицовка DMERT
Duplex Multi Environment Real Time (DMERT) — это гибридная операционная система, сочетающая совместное использование времени и работу в реальном времени, разработанная в 1970-х годах в исследовательском центре Bell Labs Indian Hill в Непервилле, штат Иллинойс. В ней используется снимок оболочки Bourne Shell за 1978 год: "VERSION sys137 DATE 1978 Oct 12 22:39:57". Оболочка DMERT работает на компьютерах 3B21D, которые до сих пор используются в телекоммуникационной отрасли.
Корневая оболочка
Корн-шел (ksh), разработанный Дэвидом Корном на основе исходного кода оболочки Bourne, представлял собой компромисс между оболочкой Bourne и оболочкой C. Его синтаксис в основном заимствован из оболочки Bourne, а возможности управления заданиями были схожи с возможностями оболочки C. Функциональность оригинального Корн-шела (известного как ksh88 с года выпуска) послужила основой для стандарта оболочки POSIX. Более новая версия, ksh93, имеет открытый исходный код с 2000 года и используется в некоторых дистрибутивах Linux. Клон ksh88, известный как pdksh, является оболочкой по умолчанию в OpenBSD.
Шелковый черепах
Инструменты Schily от Йорга Шиллинга включают в себя три производных оболочки Bourne.
С оболочка
Билл Джой, автор оболочки C, критиковал оболочку Bourne за неудобство при интерактивной работе, в чем сам Стивен Борн признавал превосходство оболочки C. Однако Борн утверждал, что его оболочка лучше подходит для написания скриптов и доступна на любой Unix-системе, а Том Кристиансен также критиковал оболочку C как непригодную для скриптов и программирования.
Осколки Альмквиста
Из-за проблем с авторскими правами, касающихся Bourne Shell в исторических версиях CSRG BSD, Кеннет Алмквист разработал клон Bourne Shell, известный некоторым как Almquist shell и распространяемый под лицензией BSD. Он используется сегодня в некоторых производных BSD и в условиях ограниченной памяти. Almquist shell был портирован на Linux, где получил название Debian Almquist shell, или dash. Эта оболочка обеспечивает более быстрое выполнение стандартных скриптов sh (и соответствующих стандарту POSIX скриптов sh в современных версиях) с меньшим потреблением памяти, чем Bash. Использование dash часто выявляет "башизмы" – зависимости от особенностей Bash, присутствующие в скриптах, предназначенных для запуска в sh.
Другие раковины
Bash (шелл Bourne Again) был разработан в 1989 году для проекта GNU и включает в себя возможности оболочек Bourne shell, csh и ksh. Он разработан с учетом соответствия стандарту POSIX. rc был создан Томом Даффом в Bell Labs в качестве замены sh для Unix версии 10. Это оболочка по умолчанию для Plan 9 от Bell Labs. Он был портирован на UNIX как часть Plan 9 from User Space. Z shell, разработанный Полом Фальстадом в 1990 году, представляет собой расширенную оболочку Bourne с большим количеством улучшений, включая некоторые функции Bash, ksh и tcsh.
Использование
Шелл Борна когда-то был стандартным на всех коммерческих Unix-системах, хотя исторически в системах на основе BSD было много скриптов, написанных на csh. Поскольку он является основой синтаксиса POSIX sh, скрипты Bourne shell обычно могут быть запущены с помощью Bash или dash в Linux или других Unix-подобных системах.