Shell-Skript

Shell-Skript

Skriptsprachen (häufig auch Scriptsprachen) sind Programmiersprachen, die vor allem für kleine, überschaubare Programmieraufgaben gedacht sind. Sie verzichten oft auf bestimmte Sprachelemente, deren Nutzen erst bei der Bearbeitung größerer Projekte zum Tragen kommen. So wird etwa in Skriptsprachen auf den Deklarationszwang von Variablen verzichtet – vorteilhaft zur schnellen Erstellung von kleinen Programmen (siehe auch Prototyping (Softwareentwicklung)), bei großen hingegen von Nachteil, etwa wegen der fehlenden Überprüfungsmöglichkeit von Tippfehlern in Variablennamen.

Programme, die in Skriptsprachen geschrieben sind, werden auch Skripte oder Scripts genannt. Skripte werden fast ausschließlich in Form von Quelltextdateien ausgeliefert, um so ein einfaches Bearbeiten und Anpassen des Programms zu ermöglichen.

Inhaltsverzeichnis

Merkmale

Häufig vorhandene Merkmale sind:

Bei einigen Skriptsprachen kann der Programmcode selbst, wie andere Daten auch, manipuliert werden, was die Sprache besonders flexibel macht.

Die Anwendungsgebiete und Eigenschaften konventioneller Programmiersprachen und Skriptsprachen überschneiden sich mittlerweile sehr stark (siehe hierzu den Abschnitt Abgrenzung), weshalb eine strikte Trennung zwischen konventionellen Programmiersprachen und Skriptsprachen nur selten möglich ist.

Abgrenzung

Aus architektonischer Sicht werden Skriptsprachen verwendet, um aus bestehenden Komponenten ein Anwendungsprogramm zu bauen. Die Komponenten selbst werden in einer Programmiersprache entwickelt.

Beispiel dafür ist ein Shellskript das Programme aufruft. Diese Programme sind im Allgemeinen in verschiedenen Programmiersprachen entwickelt.

Ein anderes Beispiel ist die Sprache BPEL, die verwendet wird, um Geschäftsprozesse zu beschreiben. Diese ruft Webservices auf, die in verschiedenen Programmiersprachen (Java, C#, …) entwickelt werden.

Während Skriptsprachen anfangs nur für kleinere Automatisierungen verwendet wurden, werden sie heute teilweise auch in Bereichen eingesetzt, die früher den klassischen Programmiersprachen vorbehalten waren. Dadurch wurde es nötig, die Sprachen um einige der Eigenschaften von kompilierten Sprachen zu erweitern, wodurch sich der Unterschied zu diesen verringerte. So können in vielen der selbstständigen Programmiersprachen Variablen optional deklariert werden. Dies dient einerseits einer besseren Fehlerüberprüfung, andererseits kann der Interpreter dadurch schneller ausgeführt werden.

Andere Techniken haben den Geschwindigkeitsunterschied zu den kompilierten Sprachen verringert. So wird zum einen der Quellcode nicht direkt interpretiert, sondern zuerst in eine Zwischenform, den sogenannten Bytecode umgewandelt, der dann wesentlich schneller interpretiert werden kann. Eine weitere Steigerung der Ablaufgeschwindigkeit wird erreicht, indem häufig durchlaufene oder rechenintensive Teile eines Programms zur Laufzeit als solche erkannt und in Maschinen-Code übersetzt werden, damit sie von der CPU unter Umgehung des Interpreters direkt ausgeführt werden können (Just-in-time-Kompilierung).

Kategorien

Kommandozeileninterpreter

Manche Skriptsprachen sind von den Kommandozeileninterpretern der Betriebssysteme abgeleitet. Die Interpreter sind vorrangig für interaktive Benutzung, d. h. für die Eingabe von Kommandos, ausgelegt. Die Eingabesprache wird um Variablen, arithmetische Ausdrücke, Kontrollstrukturen (if, while) und anderes erweitert und ermöglicht so die Automatisierung von Aufgaben (z. B. bei der unbeaufsichtigten Installation), indem „kleine Programme“ in Dateien geschrieben werden. Diese Dateien können dann vom Interpreter ausgeführt werden. Die Dateien nennt man unter dem Betriebssystem Unix Shell-Skripte (ausgeführt von einer der Unix-Shells sh, csh …) oder unter DOS und Windows auch Batch-Skripte (ausgeführt von command.com und cmd.exe).

Abzugrenzen sind Kommandozeileninterpreter von interaktiven Sprachen (wie z. B. LISP, Python, Tcl oder Perl im Debugger), die zum Testen und Debuggen interaktive Programmabschnitte ausführen können, aber nicht so eng im Betriebssystem integriert sind.

Beispiele

  • bashGNU-Ersatz und Erweiterung der sh-Shell
  • sh – Unix-Bourne-Shell (die klassische Unix-Shell)
  • cmd.exe – Kommandointerpreter von neueren Windows-Versionen ab Windows NT
  • cshBSD Shell (Unix-Versionen aus Berkeley)
  • ksh – Korn-Shell, eine der Weiterentwicklungen der klassischen sh-Shell
  • Windows PowerShell – Kommandointerpreter für Microsoft Windows
  • TACL - Kommandointerpreter von Tandem-Systemen.

Skriptsprachen, die als Bibliothek verfügbar sind

Beispiele

Skriptsprachen verschiedener Programme

Hauptartikel: Makro

Skriptsprachen können auch in Anwendungsprogrammen zur Automatisierung von Aufgaben oder durch Erweiterung der Fähigkeiten des Programms dienen. Teilweise wird auch ein Teil der Funktionalität des Programms selbst in dieser Skriptsprache realisiert. Somit können Anwender die Funktionalität eines solchen Programms schnell mit neuen Funktionen erweitern oder bestehende abändern, ohne das Programm selbst umzuschreiben. Diese Erweiterungen können selbst so weitreichend sein, dass das Programm völlig neue Aufgaben erledigt, die mit dem vorherigen Programm – aus Anwendersicht – nichts mehr gemeinsam haben. So wurden aus dem Texteditor Emacs auch ein E-Mail-Programm (Wanderlust) oder ein Webbrowser (Emacs-W3).

Im Gegensatz zu Plug-ins sind Makros wesentlich flexibler und werden vor allem für kleine Automatisierungen angewendet.

Beispiele

Skriptsprachen im WWW

Für das WWW werden Skriptsprachen häufig auf den Servern verwendet, um dynamisch Seiten oder ganze Webanwendungen zu erstellen. Dies geschieht zum Beispiel bei den Wikis, bei Foren, Gästebüchern und bei Onlinegeschäften.

Des Weiteren werden clientseitige Skriptsprachen auch in den Webseiten selbst eingebunden und in den Browsern ausgeführt.

Beispiele: serverseitig

  • Cold Fusion Markup Language – Tags und Funktionen für den ColdFusion Application Server.
  • DTML (Document Template Markup Language) – wird vom Webserver Zope verwendet.
  • Die Linden Scripting Language (kurz LSL) ist eine Programmiersprache für Second Life.
  • NewLISP - Ein neuerer open source LISP Dialekt, als Mehrzweck-Skriptsprache konzipiert und dementsprechend auch gelegentlich zur Generierung von Webseiten eingesetzt.
  • Perl – erste Skriptsprache, die weite Verbreitung in Webservern fand (damals über CGI; heute auch mit mod perl).
  • PHP – wurde für diese Aufgabe konzipiert; die am weitesten verbreitete Skriptsprache in Webservern
  • Python – kann über CGI, mod python, FastCGI oder SCGI mit einem Webserver verbunden oder mit einem eigenständigen Webserver genutzt werden. Siehe auch das WSGI, eine junge, moderne Schnittstelle zwischen Webanwendung und Webserver.
  • Ruby – wird, ähnlich wie Python, entweder über CGI oder mit mod_ruby ausgeführt, zunehmend auch unter Benutzung von Ruby on Rails.
  • Server Side Includes, (SSI) wird hauptsächlich dazu genutzt, den Inhalt einer Datei oder die dynamische Ausgabe eines Programms oder Skriptes in eine Webseite einzufügen.
  • Tcl – wird über CGI oder mit mod tcl oder mit websh im Apache Webserver ausgeführt. Weitere Möglichkeiten bestehen über den AOL Webserver oder über den in Tcl selbst geschriebenen tclhttpd-Server
  • VBScript (Visual Basic Skriptsprache) in ASP.

Beispiele: clientseitig

  • ECMAScript, insbesondere die Ausprägung JavaScript – wird von allen modernen Browsern unterstützt – siehe auch DHTML
  • Tcl, benötigt das Tcl/Tk Tclet Plug-in, das es für Mozilla, Firefox, Opera und Internet Explorer gibt
  • VBScript – von Haus aus nur im Internet Explorer verfügbar

Selbstständige Skriptsprachen

Skriptsprachen können auch von anderen Programmen getrennt von ihrem Interpreter ausgeführt werden. Einige dieser sind für Spezialaufgaben konzipiert, andere sind allgemein verwendbare Sprachen. Diese Sprachen haben die für umfangreiche Programmprojekte notwendigen Konzepte wie Namensräume und Kapselung, und werden deshalb nicht selten für größere Anwendungen verwendet.

Beispiele: spezialisierte Sprachen

  • awk – Textprozessor (Listengenerator) unter Unix
  • GLE - Graphics Layout Engine, Skriptsprache zur Erzeugung von Grafiken und Schaubildern

Beispiele: allgemein verwendbare Sprachen

  • LISP – listenbasierte, funktionale Programmiersprache
  • Perl – Programmiersprache mit erweiterten Textprozessorfähigkeiten
  • PHP – ursprünglich für die Entwicklung von Webanwendungen entworfen
  • Python – objektorientierte Programmiersprache
  • REBOL – Programmiersprache von Carl Sassenrath
  • REXX – Skriptsprache von IBM
  • Ruby – objektorientierte Programmiersprache
  • Tcl – universelle Skriptsprache mit erweiterten Textprozessorfähigkeiten und grafischem Toolkit Tk

Wikimedia Foundation.

Игры ⚽ Нужна курсовая?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Skript-Sprache — Skriptsprachen (häufig auch Scriptsprachen) sind Programmiersprachen, die vor allem für kleine, überschaubare Programmieraufgaben gedacht sind. Sie verzichten oft auf bestimmte Sprachelemente, deren Nutzen erst bei der Bearbeitung größerer… …   Deutsch Wikipedia

  • Bourne-Again-Shell — Die Unix Shell oder kurz Shell (en. Hülle, Schale) bezeichnet die traditionelle Benutzerschnittstelle unter Unix oder unixoiden Betriebssystemen. Der Benutzer kann in einer Eingabezeile Kommandos eintippen, die der Computer dann sogleich ausführt …   Deutsch Wikipedia

  • Bourne-Shell — Die Unix Shell oder kurz Shell (en. Hülle, Schale) bezeichnet die traditionelle Benutzerschnittstelle unter Unix oder unixoiden Betriebssystemen. Der Benutzer kann in einer Eingabezeile Kommandos eintippen, die der Computer dann sogleich ausführt …   Deutsch Wikipedia

  • Perl-Shell — Die Unix Shell oder kurz Shell (en. Hülle, Schale) bezeichnet die traditionelle Benutzerschnittstelle unter Unix oder unixoiden Betriebssystemen. Der Benutzer kann in einer Eingabezeile Kommandos eintippen, die der Computer dann sogleich ausführt …   Deutsch Wikipedia

  • Unix-Shell — Die Unix Shell oder kurz Shell (en. Hülle, Schale) bezeichnet die traditionelle Benutzerschnittstelle unter Unix oder unixoiden Computer Betriebssystemen. Der Benutzer kann in einer Eingabezeile Kommandos eintippen, die der Computer dann sogleich …   Deutsch Wikipedia

  • Exchange Management Shell — Windows PowerShell Screenshot von PowerShell 1.0 Basisdaten Entwickler: Microsoft Corporation Aktuelle Version …   Deutsch Wikipedia

  • Microsoft Command Shell — Windows PowerShell Screenshot von PowerShell 1.0 Basisdaten Entwickler: Microsoft Corporation Aktuelle Version …   Deutsch Wikipedia

  • System Center Operations Manager Command Shell — Windows PowerShell Screenshot von PowerShell 1.0 Basisdaten Entwickler: Microsoft Corporation Aktuelle Version …   Deutsch Wikipedia

  • Windows Power Shell — Windows PowerShell Screenshot von PowerShell 1.0 Basisdaten Entwickler: Microsoft Corporation Aktuelle Version …   Deutsch Wikipedia

  • Batch-Skript — Stapelverarbeitung oder auch Batchverarbeitung ist ein Begriff aus der EDV und bezeichnet die sequentielle, nicht interaktive Bearbeitung von Aufgaben. Inhaltsverzeichnis 1 Herkunft 2 Verarbeitung von Batch Dateien 3 Verarbeitung von Batch Jobs 4 …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”