Share to: share facebook share twitter share wa share telegram print page

Thompson shell

Thompson shell
Тип Командная оболочка UNIX
Автор Кен Томпсон
Разработчик Кен Томпсон
Операционная система UNIX
Первый выпуск 1971

Thompson shell (оболочка Томпсона) — это первая командная оболочка UNIX. Разработана Кеном Томпсоном в 1971 году для первой версии UNIX. Кен Томпсон совместно с Денисом Ритчи являются ни много ни мало создателями операционной система Unix и языка программирования C. Тут следует сделать небольшое отступление – все шеллы до Borne Shell были больше нацелены на выполнения команд (интерактивный режим), а не для скриптов.Thompson Shell создавался очень минималистичным, в одной из последних был реализован концепт пайпов (command1 > command2), но в остальном даже такие простые вещи как if были сделаны отдельными командами — основной функционал был направлен именно на выполнение команд.

В 1975, PWB (Mashey) shell - разработан Джоном Маши (John Mashey) в Bell Labs для PWB (Programmer’s Workbench) Unix - дистрибутив для разработчиков (но не взлетел). Основан на Thompson Shell c фичами для упрощения разработки.

В Mashey shell if, elseif, goto (и другие) были добавлены как часть самого шелла, появились аналоги $HOME, $PATH.

Bourne Shell был написан с нуля, фичи обсуждались с участниками сообщества, плюс популярность после публикации книги The Unix Programming Environment Брайна Кернигана и Роба Пайка — все это сыграло в пользу Borne Shell и разработка Mashey Shell была прекращена, хотя достаточно много фич из Mashey были реализованы в Borne.

В 1979 году заменена более совершенными оболочками: sh в седьмой версии UNIX и csh во второй версии BSD.

Дополнение о функциональности Thompson shell

Thompson shell поддерживала базовые команды, такие как ls, cd, cp, и rm, которые стали стандартными для последующих оболочек. Одной из ключевых инноваций стала поддержка пайпов (pipes), которые позволяли передавать вывод одной команды на вход другой. Однако, в отличие от современных оболочек, Thompson shell не поддерживала сложные сценарии и скрипты, так как её основная задача заключалась в интерактивном использовании. Например, для выполнения условных операторов (if/else) требовалось использовать отдельные команды, что делало написание скриптов неудобным.

Ссылки: [1]

Kembali kehalaman sebelumnya