Топ питань
Часова шкала
Чат
Перспективи

Оболонка Борна

З Вікіпедії, вільної енциклопедії

Remove ads

Оболонка Борна (англ. Bourne Shell) оболонка, що була основною у 7-ій версії Unix і замінила оболонку Томпсона, чий файл мав таку ж назву sh. Вона була розроблена Стівеном Борном в AT&T Bell Laboratories, і випущена в 1977 році в версії 7 Unix і розповсюджена серед коледжів та університетів. Програма оболонки або сумісна програма розміщена в /bin/sh у більшості Unix систем, і досі за замовчуванням оболонка для суперкористувача в багатьох сучасних реалізаціях Unix.

Remove ads

Походження

Оболонка розроблена як заміна для оболонки Томпсона. Серед її основних завдань:

  • Використовувати скрипти як фільтри.
  • Забезпечити перепрограмованість оболонки, включаючи контроль потоку і змінних.
  • Контроль над усіма дескрипторами вводу/виводу файлів.
  • Контроль за обробкою сигналу в сценарії.
  • Ліквідація обмежень на довжину рядка при інтерпретації скриптів.
  • Оптимізація та узагальнення механізму лапок для буквального тексту.
  • Механізм середовища. Це дозволило скриптам передавати контекст, створений при старті до інших сценаріїв (процесів) без використання явних позиційних параметрів.
Remove ads

Основі риси

Узагальнити
Перспектива

Хоч оболонка використовувалася як інтерактивний командний інтерпретатор, вона була задумана як скриптова мова. Борн скопіював всі основні оператори з мови Алгол 68. Оболонка отримала популярність з публікацією книжки Браяна В. Кернігана і Роба Пайка «Unix. Програмне оточення» (англ. «The Unix Programming Environment»). Це був перший комерційно опублікований підручник, який представив оболонку, як мову програмування.

Оболонка також стала першою, в якій використовувався дескриптор файлу 2> для повідомлень про помилки, що дозволило набагато більший програмний контроль у скриптах шляхом повідомлення про помилки окремо від даних.

Інші нововведення в цій оболонці:

  • Заміна команди використанням тонового апострофа (`команда`).
  • Використання << для вбудовування блоку вводу тексту в скрипт.
  • "for ~ do ~ done" цикли, зокрема, використання $* в циклі.
  • "case ~ in ~ esac" механізм відбору, в першу чергу призначений для надання допомоги при розборі аргументу.
  • Надано підтримку змінним середовища використовуючи ключові слова, параметри та експортування змінних.

Протягом багатьох років, оболонка поліпшувалася в АТ&Т. В різних варіантах оболонка була випущена з версією 7, SystemIII, SVR2, SVR3, SVR4 тощо. У самій оболонці не було версій, тож єдиний спосіб визначити чи функція присутня було її тестування в скрипті.

Remove ads

Використання

Оболонка Борна колись була стандартом на всіх Unix системах, хоча історично в BSD системах багато скриптів написано в оболонці С. Скрипти для оболонки Борна, як правило, можуть бути запущені без зміни з bash або dash на Linux або інших Unix-подібних системах.

Джерела

  • UNIX. Программное окружение / Б. Керниган, Р. Пайк. – М .: Символ-Плюс, 2012. – 416 с. (рос.)

Посилання

Remove ads
Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads