osh

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Der Titel dieses Artikels ist mehrdeutig. Siehe auch OSH für weitere Bedeutungen

osh ist eine Unix-Shell, die die letzte Version des frühesten Unix-Befehlsinterpreters (Thompson-Shell, s.u.) reimplementiert. Der Name „osh“ steht für old shell, alte Shell.

Merkmale[Bearbeiten | Quelltext bearbeiten]

osh verfügt über die Kerneigenschaften der Unix-Shell:

  • Befehls- bzw. Filterketten (Pipes, „Rohrleitungen“)
  • Umleitung von Programmeingaben und -ausgaben
  • Zusammenfassungen von Befehlen bzw. Befehlsketten in Befehls-Dateien (Shell-Skripten)

Im Unterschied zu anderen Unix-Shells, die Befehlsinterpreter und Programmiersprachen sind, verfügt osh über keine eigenen Programmierkonstrukte. Eine if- und eine goto-Anweisung sind als separate Befehle implementiert, mit denen bestimmte Programmieraufgaben (bedingte Steuerungen des Programmablaufs) gelöst werden können. In osh lassen sich keine Variablen vereinbaren. Da dem Befehlsinterpreter mehrere Argumente übergeben werden können, lassen sie sich teilweise durch Aufrufe neuer Shell-Instanzen simulieren.

osh unterscheidet sich von der Thompson-Shell durch verschiedene optionale Funktionserweiterungen. Zum Beispiel lassen sich Umgebungsvariablen direkt vereinbaren. Bei der Nutzung als primäre Shell liest osh eine vom Anwender geschriebene Profildatei, in der z. B. Pfadinformationen angepasst werden können.

Geschichte[Bearbeiten | Quelltext bearbeiten]

Die Thompson-Shell (sh) war Bestandteil der ersten Unix-Edition von 1971. Die heute gängige Syntax – die Verwendung von Größer- und Kleiner-Zeichen - für Umleitungen von Eingaben und Ausgaben stammt von dieser von Kenneth Thompson geschriebenen Shell ab. Das Befehls- und Filterketten-Konzept (pipes) von Doug McIlroy wurde 1972 in der Thompson-Shell realisiert. Bis 1979 war die Thompson-Shell die Standard-Shell. Sie wurde von der Bourne-Shell abgelöst und von da an als old shell bezeichnet.

Literatur[Bearbeiten | Quelltext bearbeiten]

  • Ken Thompson: The UNIX Command Language. In: Structured Programming – International Computer State of the Art Report, Infotech Information Ltd. Maidenhead, Berkshire, 1975, S. 375–384.

Weblinks[Bearbeiten | Quelltext bearbeiten]