PWB shell - PWB shell

PWB shell
Autori originali John Mashey
Dezvoltatori Laboratoarele AT&T Bell
Sistem de operare Unix
Disponibil in Engleză
Tip Unix shell

Învelișul PWB ( de asemenea , cunoscut sub numele de Mashey shell ) a fost un shell Unix .

Istorie

Shell-ul PWB a fost o versiune modificată (și, în general, constrânsă să fie compatibilă în sus) a shell-ului Thompson cu caracteristici suplimentare pentru a crește gradul de utilizare pentru programare. A fost întreținut de John Mashey și de alți alții (Dick Haight, Alan Glasser).

PWB / UNIX a început cu Research Unix 4th Edition la jumătatea lunii octombrie 1973 și a fost actualizat frecvent în următorii câțiva ani, deoarece departamentul PWB a urmărit modificările Research Unix și a adăugat câteva caracteristici. Shell-ul PWB a fost lansat la mijlocul anului 1975 și a rămas disponibil prin PWB / UNIX bazat pe versiunea 6 Unix . În versiunea 7 Unix (1979), shell-ul PWB a fost înlocuit de shell-ul Bourne . Shell-ul PWB a fost shell-ul standard pentru PWB / UNIX , aproximativ 1975–78., Dar nu a rulat în nicio ediție a Research Unix , deoarece a necesitat un nou apel de sistem udata (2) care să permită login-ului (1) să seteze numele de autentificare, director de autentificare ( $ s ) și TTY ( $ t ) deci sh (1) pentru a le obține.

Caracteristici notabile

Au fost introduse mai multe caracteristici în shell-ul PWB, care rămân în multe shell-uri ulterioare. Cele dacă și Goto comenzile au fost făcute interne pentru shell, și extins pentru a permite , dacă - atunci - altfel - endif și comutator și în timp ce construcțiile au fost introduse, precum și onintr să ignore întrerupe sau de a le prinde pentru a efectua curățarea. Variabile simple ar putea fi utilizate, deși numele lor erau limitate la o singură literă, iar unele litere erau rezervate în scopuri speciale, dintre care unele sunt precursorii variabilelor de mediu găsite în toate sistemele Unix începând cu versiunea 7 în continuare.

De exemplu, variabila $ s a fost strămoșul lui $ HOME , folosit pentru a evita codurile de cale hard-coding. $ P Variabila a fost strămoșul $ PATH , care permite utilizatorilor să caute pentru comenzi în propria lor alegere de directoare. Spre deosebire de majoritatea sistemelor UNIX ale vremii, centrul de calcul original PWB / UNIX a fost împărtășit de mai multe grupuri de programare care nu puteau schimba conținutul / bin sau / usr / bin, dar doreau să-și creeze propriile seturi de comenzi partajate. În plus, căutarea comenzilor shell-ului a fost îmbunătățită pentru a permite invocarea procedurilor shell-ului, cum ar fi comenzile binare, adică, dacă shell-ul găsea un fișier non-binar marcat ca executabil, ar furniza o altă instanță shell pentru a citi fișierul ca un script shell. Astfel, oamenii ar putea tasta argumente de comandă, mai degrabă decât argumente sh de cale / comandă . Tot acest comportament a fost ambalat ca funcția pexec , care a fost strămoșul executvp , pentru a permite oricărui program să invoce comenzi în același mod ca și shell-ul.

Caracterul $, utilizat anterior pentru identificarea argumentelor unui script shell , a devenit marcatorul pentru dereferențierea unei variabile și ar putea fi folosit pentru a insera valoarea unei variabile într-un șir între ghilimele duble . (Pe lângă shell-urile ulterioare, această caracteristică va apărea ulterior și în limbajele de programare Perl și PHP .)

Urmasi

Aceste caracteristici nu au putut depăși neajunsurile shell-ului Thompson, astfel încât o nouă shell a fost scrisă de la zero de Stephen Bourne . Acest shell Bourne a fost incompatibil cu shell -urile Thompson și PWB, dar a inclus echivalente cu majoritatea caracteristicilor shell-ului PWB, dar realizat de la zero, mai degrabă decât incremental, cu multe discuții între diferiții participanți. În special, variabilele de mediu și mașinile aferente au fost proiectate de Stephen Bourne, John Mashey și Dennis Ritchie ca un mecanism general pentru a înlocui caracteristicile anterioare, mai limitate. După adoptarea shell-ului Bourne ca shell standard în versiunea 7 Unix , utilizarea shell-ului PWB a fost eliminată treptat, deși pentru o vreme a existat un curs intern Bell Labs numit Bourne Shell Programming for Mashey Shell Programmers . ( Shell-ul C , dezvoltat înainte de lansarea publică a shell-ului Bourne, a moștenit și unele dintre caracteristicile shell-ului PWB.)

Vezi si

Referințe

linkuri externe