Skip to main content

Что такое раковина Борна?

Оболочка Bourne - это небольшая программа, которая работает в операционных системах Unix® и LINUX® и предоставляет интерфейс для выполнения программ в системе. Его часто называют интерфейсом командной строки или интерпретатором команд, поскольку он не предоставляет пользователю графический интерфейс пользователя. Команды и любые необходимые параметры, которые должны быть выполнены, вводятся в оболочку. Оболочка Bourne также является языком сценариев, позволяющим пользователям создавать и выполнять файлы сценариев, которые могут обрабатывать данные с помощью нескольких программ с помощью одной команды. В Unix®-подобных системах эта программа называется просто «sh».

Первые такие оболочки для систем Unix® были известны как оболочка Томпсона, созданная Кеном Томпсоном, одним из первых создателей операционной системы Unix®. Оболочка Томпсона была ограничена интерпретацией команд, и ряд дополнительных функций должен был выполняться как внешние операции. Позже Стивен Борн создал оболочку Bourne, чтобы заменить оболочку Thompson, добавив ряд новых функций в саму оболочку, а также язык сценариев оболочки.

В действительности оболочка Bourne была задумана как язык сценариев с самого начала. Хотя он все еще был интерфейсом командной строки для Unix® версии семь, он также предоставил пользователям возможность разрабатывать сценарии оболочки, которые связывали бы команды вместе для обработки данных. С помощью этого программирования пользователь может устанавливать переменные для захвата известных или неизвестных данных из ввода или вывода и манипулировать обработкой этих данных посредством использования условных операторов в сценарии с помощью метода, называемого потоком управления.

Это была также первая оболочка, которая реализовала функцию, известную как обработка сигналов. Через оболочку Bourne пользователь может отправлять сигнал определенного типа процессу, уже запущенному на компьютере, инструктируя этот процесс делать что-то еще. Многие из них - это способы остановить процесс, который выполняется, и произвести какой-то вывод, который можно использовать для отладки, хотя существуют другие для временной остановки процесса, возобновления и т. Д.

Возможность непосредственно управлять файловыми дескрипторами была еще одной первой для оболочки Bourne. В Unix®-подобной системе каждая работающая программа имеет таблицу, в которой перечислены файловые дескрипторы для любых открытых файлов. Это может включать в себя что угодно, от простого текстового файла до каталога или даже коммуникационных сокетов, которые процессы используют для обмена данными друг с другом. Для пользователя контроль над файловыми дескрипторами в системе позволил беспрецедентный контроль ввода и вывода практически для всего на компьютере.

Конечно, даже несмотря на то, что оболочка Bourne предоставляла пользователям такие дополнительные функции, ей не хватало таких функций, как возможность интерактивного управления процессами, создание псевдонимов команд и сохранение истории. Позже, однако, появилось несколько потомков, которые взяли самые полезные функции оболочки, которые были разработаны за эти годы, и свернули их в новые оболочки. Одним из распространенных примеров является оболочка Bourne-again, или Bash, которая распространена во многих системах LINUX®. В результате многие из этих потомков полностью способны выполнять обычные сценарии оболочки Bourne, предоставляя каждой Unix®-подобной системе некоторую реализацию оригинальной оболочки Bourne, так или иначе. Во многих системах LINUX® это просто ссылка от «sh» до «bash» или какого-либо другого способного потомка.