Кіріспе

Unix командалық интерпретаторы

Томпсон қабығы – 1971 жылы Unix-тің алғашқы нұсқасында пайда болған және Кен Томпсон жазған алғашқы Unix қабығы. Бұл скрипттерді қолдануға арналмаған, қарапайым командалық интерпретатор болды, бірақ осыған қарамастан командалық желі интерфейсіне бірнеше инновациялық мүмкіндіктерді енгізіп, кейінгі Unix қабықшаларының дамуына ықпал етті.

Дизайн

Shell-дің дизайны қасақана минималистік болды; тіпті бағдарлама ағынын басқару үшін қажетті if және goto операторлары жеке командалар ретінде іске асырылды. goto ерекше тәсілмен іске асырылады, себебі ол shell-ден бөлек. "LABEL" дегенге секіру сұралысы келгенде, ол (назарға алынбайды) деген жол үшін ағымдағы команда файлында іздейді, содан кейін тоқтатылады. Shell келесі жолды оқуға тырысқанда, қайта орналастырылған файл дескрипторы оны белгіленген жерге бағыттайды. Томпсон shell-інде стандартты кіріс және шығыс (0 және 1) файл дескрипторларынан басқа, қосымша файл дескрипторларын қайта бағыттау жоқ. Stderr-ді қайта бағыттау (файл дескрипторы 2) үшін де сыртқы бағдарламалық қоршау қажет. Shell globbing-ті қолдайды, бірақ оны аргументтерді алмастыратын және сұралған команданы шақыратын командаға жүктеу арқылы іске асырады. Томпсон shell-інің позициялық параметрлері бар, бірақ аталған айнымалылары жоқ және сыртқы ортаның айнымалыларына қол жеткізу мүмкіндігі де жоқ. Ол Борн shell-іне ұқсас, фондық командаларды құруды түсінеді. Ол цитаталарды және кері қисық сызықтан шығаруды ұсынады, бірақ жалғыз цитаталар Борн shell-інен өзгеше жұмыс істейді.

Төмендеу және ауыстыру

Қарапайымдылығының нәтижесінде, 1975 жылы 6-шы Unix нұсқасы жарық көрген кезде Томпсон қабығының көптеген маңызды бағдарламалау міндеттері үшін жеткіліксіз екені анық болды. Осы кезде Programmer's Workbench UNIX таратушыларының әзірлеушілері, оның ішінде Джон Маши, Томпсон қабығын бағдарламалауға ыңғайлы ету үшін өзгертуге кірісті. Нәтижесінде, PWB қабығы немесе Маши қабығы деп аталған жаңа қабық, ағын басқарудың жетілдірілген механизмдерін және қабық айнымалыларын енгізді, бірақ Томпсон қабығымен үйлесімді болу қажеттілігімен шектелді. Соңында, Томпсон қабығы 7-ші Unix нұсқасындағы Bourne қабығы және 1979 жылы жарық көрген 2BSD-дегі C қабығымен ауыстырылды. Қазіргі заманғы Unix және Unix-қа ұқсас жүйелердің барлығы дерлік V7 және 2BSD-ден тарағандықтан, Томпсон қабығы көбінесе қолданылмайды. Дегенмен, ол бірнеше көне Unix бастапқы кодтарының бөлігі ретінде ашық код ретінде қол жетімді және тарихи экспонат ретінде заманауи Unix жүйелеріне көшірілген.