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

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

Посилання

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.