Bach-Schale

Die Bach-Schale , war der Verzug Schale von Unix der Unix Version 7. Die meisten Unix ähnlichen Systeme setzen fort,/bin/sh zu haben —, der die Bach-Schale oder eine symbolische Verbindung sein oder sich hart zu einer vereinbaren Schale verbinden wird — selbst wenn andere Schalen von den meisten Benutzern verwendet werden.

Entwickelt von Stephen Bourne an AT&T Glockenlaboratorien war es ein Ersatz für die Schale von Thompson, deren rechtskräftige Datei denselben Namen hatte —. Es wurde 1977 in der Version 7 Unix Ausgabe veröffentlicht, die zu Universitäten und Universitäten verteilt ist. Obwohl es als ein interaktiver Befehl-Dolmetscher verwendet wird, war es immer als eine scripting Sprache beabsichtigt und enthält alle Eigenschaften, die, wie man allgemein betrachtet, strukturierte Programme erzeugen.

Es hat Beliebtheit mit der Veröffentlichung Des UNIX Programmierung der Umgebung durch Brian W. Kernighan und Rob Pike — das erste gewerblich veröffentlichte Buch gewonnen, das die Schale als eine Programmiersprache in einer Tutorform präsentiert hat.

Ursprünge

Die Schale wurde als ein Ersatz für die Schale von Mashey entworfen.

Unter den primären Absichten waren:

  • Schale-Schriften zu erlauben, als Filter verwendet zu werden.
  • Programmability einschließlich des Kontrollflusses und der Variablen zur Verfügung zu stellen.
  • Kontrolle über alle Dateideskriptoren des Eingangs/Produktion.
  • Kontrolle über das Signal, das innerhalb von Schriften behandelt.
  • Keine Grenzen auf Schnur-Längen, wenn man Schale-Schriften interpretiert.
  • Erklären Sie rational und verallgemeinern Sie Schnur-Bezug-Mechanismus.
  • Der Umgebungsmechanismus. Das hat Zusammenhang erlaubt, beim Anlauf gegründet und ein Weg für Schale-Schriften zur Verfügung gestellt zu werden, um Zusammenhang zu U-Boot-Schriften (Prozesse) zu passieren, ohne ausführliche Stellungsrahmen verwenden zu müssen.

Eigenschaften

Eigenschaften der Bach-Schale schließen ein:

  • Schriften können als Befehle durch das Verwenden ihres Dateinamens angerufen werden
  • Kann interaktiv oder nicht wechselwirkend verwendet werden
  • Erlauben Sie sowohl gleichzeitige als auch asynchrone Ausführung von Befehlen
  • Unterstützungseingang und Produktionswiederrichtung und Rohrleitungen
  • stellt eine Reihe eingebauter Befehle zur Verfügung
  • stellt Fluss-Kontrollkonstruktionen, Kostenvoranschlag-Möglichkeiten und Funktionen zur Verfügung.
  • Typeless-Variablen
  • stellt lokales und globales variables Spielraum zur Verfügung
  • Schriften verlangen Kompilation vor der Ausführung nicht
  • hat keine goto Möglichkeit, so kann das Codeumstrukturieren notwendiger sein
  • Befehl-Ersatz damit zitiert zurück:.
  • Hier das Dokumentenverwenden
  • "" Schleifen, insbesondere der Gebrauch dessen
  • "" Auswahl-Mechanismus, in erster Linie beabsichtigt, um Argument-Syntaxanalyse zu helfen.
  • vorausgesetzt dass Unterstützung für Umgebungsvariablen mit Schlüsselwort-Rahmen und exportfähigen Variablen.
  • Es enthält starke Bestimmungen, um Eingang und Produktion und in seinem Ausdruck zu kontrollieren, der Möglichkeiten vergleicht.

Die Bach-Schale war auch erst, um die Tagung zu zeigen, Dateideskriptor für Fehlermeldungen zu verwenden, viel größere Programmatic-Kontrolle während scripting durch das Halten von von Daten getrennten Fehlermeldungen erlaubend.

Im Laufe der Jahre wurde die Bach-Schale an AT&T erhöht. Die verschiedenen Varianten werden so wie das jeweilige AT&T Unix Version genannt sie wurde mit (einige wichtige Varianten veröffentlicht, die Version7, SystemIII, SVR2, SVR3, SVR4 sind). Da die Schale nie versioned, die einzige Weise war sich zu identifizieren, prüfte es seine Eigenschaften.

Stephen Bourne hat in diese Schale einige Aspekte des Algols 68C Bearbeiter getragen, dass er an an der Universität von Cambridge gearbeitet hatte. Namentlich er hat Teile von Algol-68"" "", und "" wiederverwendet (statt verwendend), Klauseln in der allgemeinen Schale-Syntax von Unix Bourne. Außerdem - obwohl die V7-Schale in C geschrieben wird - hat Bourne einige Makros ausgenutzt, um dem C Quellcode ein Algol 68 Geschmack zu geben. Diese Makros (zusammen mit dem Finger-Befehl, der in der Version 4.2BSD von Unix verteilt ist), haben den IOCCC - Internationaler Verfinsterter C-Codestreit begeistert.

Kritik

Die Bach-Schale ist für seine Mängel im Vergleich zur C-Schale kritisiert worden.

  • Die Bach-Schale war nicht als freundlich für den interaktiven Gebrauch. C schälen angebotene Geschichte, Decknamen, Job-Kontrolle und andere Eigenschaften, die es schneller und leichter gemacht haben zu verwenden.
  • Wenn auch der Rest des Systems von Unix in C geschrieben wurde, hat die Bach-Schale-Grammatik nichts wie C geschaut; es hat wie Algol stattdessen ausgesehen.
  • Es hat an einer Ausdruck-Grammatik Mangel gehabt. Sogar einfache Arithmetik musste mit dem äußerlichen und den Dienstprogrammen getan werden.

Nachkommen

Die Schale von Korn (ksh) geschrieben von David Korn, war eine mittlere Straße zwischen der Bach-Schale und der C-Schale. Seine Syntax wurde hauptsächlich von der Bach-Schale gezogen, während seine Job-Kontrolleigenschaften denjenigen der C-Schale geähnelt haben. Die Funktionalität des ursprünglichen Korns Shell (bekannt als ksh88 vom Jahr seiner Einführung) wurde als eine Basis für den POSIX verwendet, schält Standard. Eine neuere Version, ksh93, ist offene Quelle seit 2000 gewesen und wird auf etwas Vertrieb von Linux verwendet. Es gibt auch einen Klon von ksh88 bekannt als pdksh, und das ist die Verzug-Schale für alle Benutzer von OpenBSD.

Heftiger Schlag (die Schale des Bachs wieder) wurde später für das GNU-Projekt entwickelt. Heftiger Schlag vereinigt Eigenschaften von der Bach-Schale, csh, und ksh. Heftiger Schlag ist die Verzug-Schale für OS X, Cygwin und den grössten Teil des Vertriebs von Linux.

Fernsteuerung wurde an Glockenlaboratorien von Tom Duff als ein Ersatz für sch für die Version 10 Unix geschaffen. Es ist die Verzug-Schale für den Plan 9 von Glockenlaboratorien. Es ist zu UNIX als ein Teil des Plans 9 vom Benutzerraum getragen worden.

Wegen Urheberrechtsprobleme, die den Bach umgeben, hat Shell, weil es in historischem CSRG BSD Ausgaben, Kenneth Almquist verwendet wurde, einen Klon des Bachs Shell entwickelt, der von einigen als der Almquist Shell bekannt ist und laut der BSD-Lizenz verfügbar ist, die im Gebrauch heute auf einigen BSD Nachkommen und in Situationen des niedrigen Gedächtnisses ist. Der Almquist Shell wurde zu Linux und dem Hafen getragen, hat die Schale von Debian Almquist oder Spur umbenannt. Diese Schale versorgt viel schnellere Ausführung von Standardschriften mit einem kleineren Speicherfußabdruck als sein allgemeinerer Kollege, heftiger Schlag. Sein Gebrauch neigt dazu, bashisms auszustellen - mit dem heftigem Schlag zentrische in Schriften gemachte Annahmen haben bedeutet, auf sch zu laufen.

Gebrauch

Die Bach-Schale war, sobald der Standard auf allen Systeme von Unix gebrandmarkt hat, obwohl historisch BSD-basierte Systeme viele in csh geschriebene Schriften hatten. Bach-Schale-Schriften können normalerweise mit dem heftigen Schlag oder der Spur auf GNU/Linux oder anderen Unix ähnlichen Systemen geführt werden.

Auf vielen Systemen von Linux, ist eine symbolische oder harte Verbindung zum Heftigen Schlag. Jedoch, für die Leistungsfähigkeit, verbinden sich einige Systeme von Linux (wie Ubuntu), um stattdessen zu sausen.

Notierungen

Siehe auch

  • Der Vergleich des Computers schält
Heftiger

Links


Hilton weltweit / Hotels von Hilton & Ferienorte
Impressum & Datenschutz