Thompson héj - Thompson shell

Thompson héj
Eredeti szerző (k) Ken Thompson
Fejlesztő (k) AT&T Bell Laboratories
Első kiadás 1971. november 3 . ; 49 évvel ezelőtt ( 1971-11-03 )
Operációs rendszer Unix és Unix-szerű
típus Unix héj

A Thompson héj volt az első Unix-héj , amelyet az Unix első verziójában 1971-ben mutattak be , és Ken Thompson írta . Ez egy egyszerű parancsértelmező volt, amelyet nem szkriptek számára terveztek, de ennek ellenére számos innovatív funkciót vezetett be a parancssori felületre, és a későbbi Unix héjak fejlesztéséhez vezetett.

Történelem

A név „shell” egy parancssori értelmező és a koncepció, hogy a héj egy felhasználói program ezen kívül az operációs rendszer kernel -ben vezették be Unix prekurzor Multics .

A Thompson shell egyik korai jellemzője a kompakt szintaxis volt a bemenet / kimenet átirányításához. A Multics alkalmazásban egy parancs bemenetének vagy kimenetének átirányításához külön parancsokra volt szükség az átirányítás megkezdéséhez és leállításához; a Unix-ban egyszerűen hozzá lehetne adni egy argumentumot a parancssorhoz, amely a <szimbólumot követi a bemeneti fájlnév vagy a> szimbólum a kimenet számára, és a shell átirányítja az I / O-t a parancs időtartamára. Ez a szintaxis már jelen volt az Unix első verziójának 1971-es kiadásával.

Egy későbbi kiegészítés a csövek fogalma volt . Douglas McIlroy javaslatára az átirányítási szintaxist kibővítették, hogy az egyik parancs kimenetét át lehessen adni egy másik parancs bemenetére. Az eredeti csőszintaxis, a 3. verzió kézikönyvében leírtak szerint:

command1 >command2>

Ez a szintaxis túl kétértelműnek bizonyult, és könnyen összetéveszthető volt a fájlokba és a fájlokból történő átirányítással - a rendszer nem tudja megmondani, hogy a "command2" a "command2" vagy a "command2" fájl. A 4. verzióra a szintaxis megváltozott, hogy mind a | és ^ szimbólumok a csövek jelölésére:

command1 | command2

Ez pontosan ugyanazt az eredményt adja, mint:

command1 ^ command2

A> szimbólum a következőre változott:

command1 > file1

Ez a parancs1 kimenetét a fájlba1 helyezi.

A Thompson hétszintaxisa a <és> átirányításhoz és a | csövezéshez tartósnak bizonyult, és a legtöbb más Unix-héj és számos más operációs rendszer parancshéja elfogadta, nevezetesen a DOS , OS / 2 és a Microsoft Windows rendszeren .

Elutasítás és pótlások

A héj kialakítása szándékosan minimalista volt; még a programfolyamat vezérléséhez elengedhetetlen if és goto utasításokat is külön parancsként hajtották végre. Ennek eredményeként a Unix 6-os változatának 1975-ös kiadásával világossá vált, hogy a Thompson héj nem megfelelő a legsúlyosabb programozási feladatokhoz.

Ekkor a Programozó Workbench UNIX disztribúciójának fejlesztői, nevezetesen John Mashey , elkezdték módosítani a Thompson héjat, hogy alkalmassá tegye a programozásra. A PWB-héjnak vagy a Mashey-héjnak nevezett eredmény fejlettebb áramlásszabályozó mechanizmusokat tartalmazott, és bevezette a héjváltozókat, de korlátozott maradt annak szükségessége, hogy kompatibilisek maradjanak a Thompson-héjjal.

Végül a Thompson héjat fő Unix héjként a Bourne héj váltotta fel a Unix 7 - es verziójában és a C héjat a 2BSD-ben , mindkettőt 1979-ben adták ki. Mivel gyakorlatilag az összes modern Unix és Unix-szerű rendszer a V7-ből és a 2BSD-ből származik, a A Thompson héjat általában már nem használják. Ez azonban nyílt forráskódként elérhető számos Ancient Unix forrás disztribúció részeként , és történelmi kiállításként került a modern Unices-be.

Lásd még

Hivatkozások

Külső linkek