Оболонка Борна
Оболонка Борна (англ. 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-подібних системах.
Посилання [ред.]
- UNIX Shell Script Tutorials & Reference(англ.)
- UNIX/Linux Bourne/Bash Shell Scripting Tutorial(англ.)
- The individual members of "The Traditional Bourne Shell Family"(англ.)
- Actual C source code for the Bourne shell using mac.h macros(англ.)
- Original Bourne Shell documentation from 1978(англ.)
- A port of the "heirloom" SVR4 Bourne shell from OpenSolaris to other Unix-like systems(англ.)
|
|||||||||||
|
|
|||||
