Bourne shell

De Bourne shell of BSH is een Unix shell. Dit is de standaard shell van Unix Versie 7; in eerdere versies van UNIX, sh betekent dat de Thompson shell, en een aantal huidige versies, betekent dit dat de Korn-shell.

De Bourne shell werd geprogrammeerd door Stephen Bourne van AT & T Bell Laboratories en is verschenen voor het eerst in 1977 op de Versie 7 Unix werd uitgedeeld aan universiteiten en academies. Hij bleef sindsdien is de standaard shell voor Unix-accounts. Het uitvoerbare bestand voor de Bourne shell of andere shell-compatible is de locatie op de meeste Unix-systemen, en is nog steeds de standaard shell voor het root-account op Unix vele implementaties.

Het leidingsysteem verbindt de uitvoer van een opdracht naar de ingang van een andere, is het mogelijk om complexe scripts met behulp van eenvoudige commando schrijft. Een verbeterde versie van deze schaal is de Bourne-Again Shell.

Algemene beginselen

De doelen in het ontwerpen van de Bourne shell waren:

  • u kunt shell scripts gebruiken als filters,
  • programmeren mogelijkheden, onder meer met de structuur en controle variabelen,
  • om de controle hebben over alle file descriptors lezen / schrijven,
  • om de controle op de signalen uitvoeren van scripts hebben,
  • om beperkingen op de lengte van de ketens te overwinnen in de interpretatie van shell scripts,
  • rationaliseren en generaliseren van de aanpak van mechanismen van tekenreeksen,
  • een milieu-mechanisme om de context van het script bij het opstarten te herstellen hebben, en door te geven aan de zoon-proces, zonder hun toevlucht nemen tot expliciete wegen.

Kenmerken van de originele versie

  • Het is mogelijk om een ​​script uit te voeren door het intikken van de opdrachtregel bestandsnaam bevat het script
  • De schaal kan in de achtergrond
  • Bestellingen kunnen synchroon werken als asynchrone
  • Ondersteuningen redirects input / output en buisleidingen
  • verschaffen van een reeks natief commando naar de shell
  • bestaan ​​van controle structuren, indirecte adressering, en het begrip van de functie.
  • Niet-getypte variabelen
  • variabelen lokale of globale reikwijdte
  • verbod goto onvoorwaardelijke tak instructie, een gestructureerd programmeren leggen
  • commando substitutie mechanisme met syntax citeert terug.
  • Redirect type ingang document "hier" met de syntaxis voor het vervangen inbreng argumenten in een script.
  • loops, met in het bijzonder de wild card voor het scannen van de argumenten.
  • zeggenschapsstructuur aan de sortering van de argumenten van een commando te vergemakkelijken.
  • Uitbreiding mogelijkheden voor controle en vergelijking testen op de input / output streams.

De Bourne Shell was de eerste die de file descriptor overeenkomst om de stroom van fouten aan te pakken, waardoor een dynamische scripting mechanisme voor het beheer van uitzonderingen te implementeren.

Stephen Bourne geïmporteerd bepaalde aspecten van Algol compiler 68C in zijn schelp. Deze omvatten delen van hergebruik van Algol 68 compiler: "", "" en de termen "" om de gemeenschappelijke syntaxis van de Bourne shell Unix. Daarnaast Bourne gebruikte een aantal macro's om zijn bron rendering "Algol 68 'te geven. Deze macro's geïnspireerd IOCCC - International Obfuscated C Code Contest.