Оболочка Борна ( англ. Bourne Shell ) была основной оболочкой 7 версии Unix и заменила оболочку Томпсона, чей файл имел такое же название sh. Она была разработана Стивеном Борном в AT & T Bell Laboratories, и выпущена в 1977 году в версии 7 Unix и распространена среди колледжей и университетов. Программа оболочки или совместная программа находится в /bin /sh на большинстве Unix систем, и до сих пор по умолчанию оболочка для root суперпользователя во многих современных реализациях Unix.
Происхождение
Оболочка разработана как замена для оболочки Томпсона. Среди ее основных задач:
- Использовать скрипты как фильтры.
- Обеспечить перепрограмованисть оболочки, включая контроль потока и переменных.
- Контроль над всеми дескрипторами ввода / вывода файлов.
- Контроль за обработкой сигнала в сценарии.
- Ликвидация ограничений на длину строки при интерпретации скриптов.
- Оптимизация и обобщают механизма кавычек для буквального текста.
- Механизм среды. Это позволило скриптам передавать контекст, созданный при старте в других сценариев (процессов) без использования явных позиционных параметров.
Основе черты
Хотя оболочка использовалась как интерактивный командный интерпретатор, она была задумана как скриптовый язык. Борн скопировал все основные операторы с языка Алгол 68. Оболочка получила известность с публикацией книги Брайана В. Керниган и Роб Пайка англ. The Unix Programming Environment «Программирование в среде Unix». Это был первый коммерчески опубликован учебник, который представил оболочку, как язык программирования.
Оболочка также стала первой, в которой использовался дескриптор файла 2> для сообщений об ошибках, что позволило намного больший программный контроль в скриптах путем сообщения об ошибках отдельно от данных.
Другие нововведения в этой оболочке:
- Замена команды использованием тонового апостроф (`команда`).
- Использование <<для встраивания блока ввода текста в скрипт.
- "For ~ do ~ done" циклы, в частности, использование $ * в цикле.
- "Case ~ in ~ esac" механизм отбора, в первую очередь предназначен для оказания помощи при разборе аргумента.
- Оказана поддержка переменным среды используя ключевые слова, параметры и экспорта переменных.
На протяжении многих лет, оболочка улучшалась в АО & Т. В разных вариантах оболочка была выпущена с версией 7, SystemIII, SVR2, SVR3, SVR4 подобное. В самой оболочке не было версий, то единственный способ определить функция присутствует было ее тестирование в скрипте.
Использование
Оболочка Борна некогда была стандартом на всех Unix системах, хотя исторически в BSD системах много скриптов написано в оболочке С. Скрипты для оболочки Борна, как правило, могут быть запущены без изменения с bash или dash на Linux или других Unix-подобных системах.