Thompsonova skořápka - Thompson shell

Thompsonova skořápka
Původní autoři Ken Thompson
Vývojáři AT&T Bell Laboratories
První vydání 3. listopadu 1971 ; Před 49 lety ( 11.03.1971 )
Operační systém Unix a podobné unixové
Typ Unix shell

Thompson shell byl první unixový shell , který byl zaveden v první verzi systému Unix v roce 1971, a napsal Ken Thompson . Byl to jednoduchý tlumočník příkazů, který nebyl navržen pro skriptování, ale přesto zavedl několik inovativních funkcí do rozhraní příkazového řádku a vedl k vývoji pozdějších unixových skořápek.

Dějiny

Název „shell“ pro tlumočníka příkazového řádku a koncepce vytvoření prostředí shell jako uživatelského programu mimo jádro operačního systému byly zavedeny v předchůdci Unixu Multics .

Prvním rysem skořápky Thompson byla kompaktní syntaxe pro přesměrování vstupu / výstupu. V Multics vyžadovalo přesměrování vstupu nebo výstupu příkazu samostatné příkazy pro spuštění a zastavení přesměrování; v Unixu lze jednoduše přidat do příkazového řádku argument skládající se ze symbolu <následovaného názvem souboru pro vstup nebo symbolem> pro výstup a shell by přesměroval I / O po dobu trvání příkazu. Tato syntaxe byla přítomna již při vydání první verze Unixu v roce 1971.

Pozdějším přírůstkem byl koncept trubek . Na návrh Douglase McIlroya byla syntaxe přesměrování rozšířena tak, aby výstup jednoho příkazu mohl být předán vstupu jiného příkazu. Původní syntaxe kanálu, jak je popsána v příručce verze 3, byla:

command1 >command2>

Tato syntaxe se ukázala příliš nejednoznačná a byla snadno zaměnitelná s přesměrováním do a ze souborů - systém nedokáže zjistit, zda je „command2“ příkaz „command2“ nebo soubor „command2“. Ve verzi 4 se syntaxe změnila tak, aby používala | | a ^ symboly k označení potrubí:

command1 | command2

To vytváří přesně stejný výsledek jako:

command1 ^ command2

Symbol> se změnil na:

command1 > file1

Tím by se výstup příkazu1 dostal do souboru1.

Syntaxe prostředí Thompson pro přesměrování pomocí <a> a propojení s | se ukázala jako odolná a byla přijata většinou ostatních unixových skořápek a příkazových skořápek několika dalších operačních systémů, zejména v DOS , OS / 2 a Microsoft Windows .

Odmítnout a nahradit

Design pláště byl záměrně minimalistický; dokonce i příkazy if a goto , nezbytné pro řízení toku programu, byly implementovány jako samostatné příkazy. Výsledkem bylo vydání Unixu verze 6 z roku 1975 , kdy bylo jasné, že skořápka Thompsona byla pro nejzávažnější programovací úkoly nedostatečná.

V tomto okamžiku začali vývojáři distribuce Workbench UNIX programátora , zejména John Mashey , upravovat prostředí Thompson, aby bylo vhodnější pro programování. Výsledek, známý jako shell PWB nebo shell Mashey, zahrnoval pokročilejší mechanismy řízení toku a zavedl proměnné shellu, ale zůstal omezen nutností zůstat kompatibilní s shellem Thompson.

Nakonec byl Thompsonův shell jako hlavní unixový shell nahrazen shellem Bourne ve verzi 7 Unix a shellem C ve 2BSD , oba vydány v roce 1979. Protože prakticky všechny moderní systémy Unix a Unix jsou pocházející z V7 a 2BSD, Thompsonova skořápka se obecně již nepoužívá. Je však k dispozici jako open-source jako součást několika zdrojových distribucí Ancient Unix a byl přenesen do moderních Unices jako historická expozice.

Viz také

Reference

externí odkazy