Skripting
Topic outline
-
-
Was ist eigentlich eine Skriptsprache?
Stellen Sie sich eine längere Abfolge von einfacheren Kommandos vor, die Sie bei einem Routinevorgang der Systemverwaltung täglich verwenden. Sie nutzen eine Shell als Befehlszeilenschnittstelle (CLI) des Betriebssystems und der Interpreter führt die Befehle nacheinander aus. Manchmal erzeugen Ihre Befehle Zwischenergebnisse, die Sie als weitere Parameter oder Eingangsinformation für folgende Befehle nutzen wollen. In einer IT-Welt, die immer agiler wird und hohen Sicherheits- und Zertifizierungsanforderungen entsprechen muss, wird es zur Aufgabe eines Administrators, notwendige Problemlösungen zu definieren, sodass sie künftig jederzeit, mehrmals und automatisiert durchgeführt werden können.
-
Zur Steuerung eines Betriebssystems benötigen Sie eine spezielle Computersprache.
„Scripting languages differ from system programming languages in that they are designed for ‚gluing‘ applications together.“ (John K. Ousterhout, März 1988)
Ein Shell-Skript ist eine Textdatei, die eine Folge von Befehlen für ein Betriebssystem enthält. Es wird als Shell-Skript bezeichnet, weil es eine Folge von Befehlen, die sonst einzeln über die Tastatur eingegeben werden müssten, in einem einzigen Skript zusammenfasst. Die Shell ist die ausführende Befehlszeilenschnittstelle (CLI) des Betriebssystems und der Interpreter für die Befehle, die zur Kommunikation mit dem System verwendet werden
-
-
-
Die Entwicklung der Betriebssysteme ging Hand in Hand mit der Entwicklung und Leistungssteigerung der eingesetzten Hardware. Auch die Skripttechnologie hängt von der Leistungsfähigkeit der zugrunde liegenden Systeme ab.
Sowohl die Hardware als auch die Betriebssysteme bestimmten die Möglichkeiten der Automatisierung.
Da die ersten Großrechner in den 50er Jahren nur Batch-Verarbeitung betrieben, kann die Job Control Language (JCL) von IBM als Archetyp für die Steuerung der frühen Betriebssysteme bezeichnet werden (IBM Corporation, 1967). Mit dem Aufkommen interaktiver Time-Sharing-Systeme wurden skriptfähige Shells eingeführt.
Einer der wichtigsten Schritte war die Erfindung der Befehlsersetzung durch Calvin Moor. Dabei handelt es sich um die Möglichkeit, Befehle in Dateien einzubetten, die bei der Interpretation einen String in das Skript einfügen (Calvin N. Moors, 1965).
Eines der ersten Projekte war das MULTICS-Projekt der Bell Labs. Als sich einige Mitarbeiter aus dem Projekt zurückzogen, beschlossen sie, ihr eigenes System zu implementieren, das sie UNIX nannten. Eine Innovation der Unix-Shells war die Möglichkeit, die Ausgabe eines Programms an die Eingabe eines anderen zu senden (Pipe), wodurch komplexe Aufgaben in einer Zeile Shellcode ausgeführt werden konnten.
1964 legte Pouzin einen Entwurf für eine komplexere Befehlssprache vor, die er "Shell" nannte.
Dieser Entwurf inspirierte Thompson 1973 zur Entwicklung der Unix-Shell. Mitte der 1970er Jahre fügten Bourne und Mashey getrennt voneinander Kontrollfluss und Variablen hinzu. Bournes Entwurf wurde schließlich unter dem Namen sh zum Unix-Standard.
Heute ist bash die am weitesten verbreitete "Bourne-again"-Shell, aber es gibt auch andere: csh, tcsh, ksh, sh.
Später folgten in der Unix-Welt weitere Skriptsprachen wie AWK und Sed, um Text zu manipulieren.
Eine weitere wichtige Skriptsprache, Perl, wurde 1987 von Larry Wall erfunden und mit dem Boom des World Wide Web in den 1990er Jahren für die Erstellung von Webanwendungen populär. Weitere Sprachen wie Python und Ruby folgten.
Für das Betriebssystem Windows durchlief die Entwicklung von Skriptsprachen für mehrere Phasen.
Mit der Einführung von Windows 95 und später Windows 98 wurde VBScript entwickelt.
Batch-Skripte (.bat, .cmd): In den 1980er Jahren, mit der Einführung von MS-DOS, wurden Batch-Dateien als einfache Skriptsprache verwendet.
2006 wurde PowerShell eingeführt und bot eine mächtige und vielseitige Skriptsprache und Kommandozeilen-Shell, die auf dem .NET Framework basiert.2010er Jahre bis heute: Erweiterung und Integration
- PowerShell Core: Ab 2016 wurde PowerShell als Open-Source-Projekt unter dem Namen PowerShell Core weiterentwickelt und war plattformübergreifend (Windows, macOS, Linux) verfügbar. Diese Version basiert auf .NET Core.
- Windows Subsystem for Linux (WSL): Mit der Einführung von WSL können Nutzer native Linux-Befehle und -Skripte direkt unter Windows ausführen. Dies hat die Skripting-Möglichkeiten für Windows-Benutzer erheblich erweitert, da sie nun Zugang zu einer Vielzahl von Linux-Skriptingsprachen (wie Bash, Python, etc.) haben.
- Integration von Python: Python hat sich auch unter Windows als beliebte Skriptsprache etabliert. Dank seiner Einfachheit und Vielseitigkeit wird es sowohl für kleine Automatisierungsaufgaben als auch für komplexe Anwendungen genutzt.
-
-
Es gibt IHK Prüfungsaufgaben mit PowerShell Code in der Aufgabenstellung.
Die gezeigte Aufgabe ist aus einer AP1 Prüfung.-
-
An der Lösung ist zu erkennen, dass es zwar eine Aufgabe mit PowerShell Code war, die Lösung aber auch ohne tiefe Syntax-Kenntnis zu finden ist.
-