Thompsonova skořápka - Thompson shell
| Původní autoři | Ken Thompson |
|---|---|
| Vývojáři | AT&T Bell Laboratories |
| První vydání | 3. listopadu 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
- Ruční stránka prostředí Thompson v Unixu 1. vydání .
- Evoluce unixového systému sdílení času - popisuje časný vývoj shellu
- Origins of the Bourne shell - manual pages for the 3rd, 4th, and 6th edition Thompson shells, and other resources on the early shells
- Šesté vydání Thompson Shell Port - prostředí Thompson Shell a jeho přidružené nástroje portované na moderní systémy Unix