Навіщо потрібна програмована оболонка?

Оболонка UNIX не є типовим прикладом командного процесора: хоча вона і дозволяє запускати програми звичним способом, але, будучи мовою програмування, вона здатна і на більше Давайте ненадовго повернемося назад до того, що вже було описано Це варто зробити, по-перше, тому що в цьому розділі представлено дуже багато матеріалу, а по-друге, тому що, пообіцявши розповісти про «Найбільш часто використовуваних властивостях оболонки», автори присвятили 30 сторінок прикладів програмування в оболонці Але справа в тому, що використовуючи оболонку, ви весь час пишете маленькі однорядкові програми: конвеєр – це програма, така ж як і при-

заходів з «Чай готовий» Оболонка працює таким чином: користувач постійно програмує її, але робити це настільки просто і природно (коли навчишся), що він не сприймає цей процес як програмування

Оболонка сама займається деякими речами, наприклад організацією циклів, перенаправленням вводу-виводу за допомогою < і>, розширенням імен файлів за допомогою *, так що програмам не треба турбуватися про це, і, що ще важливіше, застосування цих засобів одноманітно для будь-яких програм Інші властивості (командні фай ли, канали) насправді надаються ядром, а оболонка забезпечує природний синтаксис для їх створення Вони виходять за межі простого забезпечення зручності користувача, фактично розширюючи можливості системи

Оболонка зобовязана ядру UNIX більшою частиною своїх властивостей: наприклад, хоча оболонка організовує канали, але переміщення даних по них виконується ядром Завдяки тому що система обробляє виконувані файли спеціальним чином, можна створити командний файл так, щоб він працював так само, як і в скомпільованій Користувачеві не треба знати, що це командні файли – для звернення до них не потрібно спеціальної команди типу RUN До того ж оболонка сама є програмою, а не частиною ядра, тому її можна налаштовувати, розширювати і використовувати, як і будь-які інші програми Така концепція втілена не тільки в системі UNIX, але тут вона реалізована найкращим чином

Розмова про програмуванні оболонки буде продовжений в розділі 5, а поки запамятайте одну річ: що б ви не робили в оболонці, ви її програмуєте, саме цим значною мірою пояснюється те, що вона так добре працює

Історія та бібліографія

Оболонка була програмованої з давніх пір Спочатку існували окремі команди для if, goto і мітки при запуску команда goto сканувала вхідний файл з самого початку в пошуку потрібної позначки (Так як було неможливо заново прочитати канал, було неможливо і направити дані в командний файл, в якому використовувалася керуюча логіка)

Оболонка користувача в сьомій версії була створена Стівом бурхливими (Steve Bourne), Джон Меші (John Mashey) допомагав йому і подав деякі ідеї У цій редакції міститься все, що потрібно для програмування, ви побачите це в розділі 5 Крім того, вдосконалено введення і виведення: надана можливість перенаправляти введення-виведення в програми оболонки і з них без обмежень Розбір метасимволов в іменах файлів є внутрішньою властивістю цієї оболонки в

попередніх версіях існувала спеціальна програма, яка повинна була працювати на дуже маленьких машинах

Вам могла зустрітися і інша оболонка (а може бути, саме її ви і використовуєте), csh – так звана «Сі-оболонка», яка була розроблена в Берклі Біллом Джоем (Bill Joy) на основі оболонки шостої версії «Cи-оболонка» пішла далі, ніж оболонка Бурна, в напрямку підтримки Найбільш примітним є механізм збереження передісторії, який робить можливим повторення (Ймовірно, з незначним редагуванням) раніше виконаних команд Синтаксис також дещо відрізняється Оскільки «Cи-оболонка» заснована на більш ранній оболонці, в ній менше можливостей для програмування вона є скоріше інтерактивним командним процесором, ніж мовою програмування Зокрема, неможливо здійснювати напрямок даних в керуючі оператори і з них

Програма pick була створена Томом Даффом (Tom Duff), а команда bundle була незалежно придумана Аланом Хьюїт (Alan Hewett) і Джеймсом Гослінгом (James Gosling)

Джерело: Керниган Б, Пайк Р, UNIX Програмне оточення – Пер з англ – СПб: Символ-Плюс, 2003 – 416 с, Мул

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*