Оболо́нка То́мпсона (англ. Thompson shell) — перша оболонка Unix у першій версії Unix 1971 року, написана Кеном Томпсоном. Була простим командним інтерпретатором, не призначеним для скриптів. В оболонці з'явився ряд інноваційних функцій для інтерфейсу командного рядка і вона спонукала до розвитку майбутніх оболонок Unix.
Історія
Назва «оболонка» для командного рядка інтерпретатора і концепція перетворення корпусу користувачів програми поза ядра операційної системи були введені в Unix прекурсорі MULTICS.
Одною з перших особливостей оболонки Томпсона був компактний синтаксис для входу/виводу перенаправлення. У MULTICS, перенаправлення введення або виведення команди потрібна окрема команда для запуску та зупинки перенаправлення, і в Unix, можна просто додати аргумент в командному рядку, що складається з символу <
і наступного імені файлу для введення або >
для позначення виводу, оболонка буде перенаправляти введення/вивід протягом терміну дії команди. Цей синтаксис був вже присутній в першій версії Unix у 1971 році.
Крім цього, в оболонці була розширена концепція конвеєрів. За пропозицією Дугласа МакІлроу синтаксис конвеєрів був розширений тим, що вивід однієї команди може бути прийнятий на вхід іншої команди. Спочатку синтаксис конвеєрів полягав у наступному:
команда1> команда2>
Цей синтаксис виявився занадто двозначним і його було легко сплутати з перенаправленням файлів. За версією 4, синтаксис змінили на використання як |
і ^
символів для позначення конвеєрів:
команда1 | команда2
Це справляло точно такий же результат, як:
команда1 ^ команда2
Цей синтаксис для перенаправлень з <
та >
, а також конвеєрів з |
, виявився життєздатним і був прийнятий в більшості інших оболонок Unix і командних оболонок ряду інших операційних систем, в першу чергу на DOS, (OS/2) і Microsoft Windows.
Занепад оболонки
Дизайн оболонки був навмисне мінімалістський, навіть if
і goto
, необхідні для контролю програмного потоку, були виконані у вигляді окремих команд (програм), а не вбудовані в оболонку. У результаті в 1975 році з 6-ї версії Unix стало зрозуміло, що оболонка Томпсона недостатня для найсерйозніших завдань програмування.
Зрештою, в Unix версії 7 оболонка Томпсона був замінена як головна оболонка на оболонку Борна (англ. Bourne Shell) i оболонку C (англ. C Shell) в , випущену в 1979 році. Оскільки практично усі сучасні Unix і Unix-подібні системи є нащадками 7-ї версії Unix і 2BSD, то оболонка Томпсона, як правило, не використовуються. Однак оболонка Томпсона була портована на сучасні Unix як історичний експонат.
Посилання
- The Evolution of the Unix Time-Sharing System [ 8 квітня 2015 у Wayback Machine.] — describes the early development of the shell(англ.)
- Origins of the Bourne shell [ 25 грудня 2008 у Wayback Machine.] — manual pages for the 3rd, 4th, and 6th edition Thompson shells, and other (англ.)resources on the early shells
- Sixth Edition Thompson Shell Port [ 15 грудня 2008 у Wayback Machine.] — the Thompson shell and its associated utilities ported to modern Unix systems (англ.)
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Obolo nka To mpsona angl Thompson shell persha obolonka Unix u pershij versiyi Unix 1971 roku napisana Kenom Tompsonom Bula prostim komandnim interpretatorom ne priznachenim dlya skriptiv V obolonci z yavivsya ryad innovacijnih funkcij dlya interfejsu komandnogo ryadka i vona sponukala do rozvitku majbutnih obolonok Unix IstoriyaNazva obolonka dlya komandnogo ryadka interpretatora i koncepciya peretvorennya korpusu koristuvachiv programi poza yadra operacijnoyi sistemi buli vvedeni v Unix prekursori MULTICS Odnoyu z pershih osoblivostej obolonki Tompsona buv kompaktnij sintaksis dlya vhodu vivodu perenapravlennya U MULTICS perenapravlennya vvedennya abo vivedennya komandi potribna okrema komanda dlya zapusku ta zupinki perenapravlennya i v Unix mozhna prosto dodati argument v komandnomu ryadku sho skladayetsya z simvolu lt i nastupnogo imeni fajlu dlya vvedennya abo gt dlya poznachennya vivodu obolonka bude perenapravlyati vvedennya vivid protyagom terminu diyi komandi Cej sintaksis buv vzhe prisutnij v pershij versiyi Unix u 1971 roci Krim cogo v obolonci bula rozshirena koncepciya konveyeriv Za propoziciyeyu Duglasa MakIlrou sintaksis konveyeriv buv rozshirenij tim sho vivid odniyeyi komandi mozhe buti prijnyatij na vhid inshoyi komandi Spochatku sintaksis konveyeriv polyagav u nastupnomu komanda1 gt komanda2 gt Cej sintaksis viyavivsya zanadto dvoznachnim i jogo bulo legko splutati z perenapravlennyam fajliv Za versiyeyu 4 sintaksis zminili na vikoristannya yak i simvoliv dlya poznachennya konveyeriv komanda1 komanda2 Ce spravlyalo tochno takij zhe rezultat yak komanda1 komanda2 Cej sintaksis dlya perenapravlen z lt ta gt a takozh konveyeriv z viyavivsya zhittyezdatnim i buv prijnyatij v bilshosti inshih obolonok Unix i komandnih obolonok ryadu inshih operacijnih sistem v pershu chergu na DOS OS 2 i Microsoft Windows Zanepad obolonkiDizajn obolonki buv navmisne minimalistskij navit if i goto neobhidni dlya kontrolyu programnogo potoku buli vikonani u viglyadi okremih komand program a ne vbudovani v obolonku U rezultati v 1975 roci z 6 yi versiyi Unix stalo zrozumilo sho obolonka Tompsona nedostatnya dlya najserjoznishih zavdan programuvannya Zreshtoyu v Unix versiyi 7 obolonka Tompsona buv zaminena yak golovna obolonka na obolonku Borna angl Bourne Shell i obolonku C angl C Shell v vipushenu v 1979 roci Oskilki praktichno usi suchasni Unix i Unix podibni sistemi ye nashadkami 7 yi versiyi Unix i 2BSD to obolonka Tompsona yak pravilo ne vikoristovuyutsya Odnak obolonka Tompsona bula portovana na suchasni Unix yak istorichnij eksponat PosilannyaThe Evolution of the Unix Time Sharing System 8 kvitnya 2015 u Wayback Machine describes the early development of the shell angl Origins of the Bourne shell 25 grudnya 2008 u Wayback Machine manual pages for the 3rd 4th and 6th edition Thompson shells and other angl resources on the early shells Sixth Edition Thompson Shell Port 15 grudnya 2008 u Wayback Machine the Thompson shell and its associated utilities ported to modern Unix systems angl