Kaja Kallas

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]

No tags for this post.