Skripte

  • Urspruenglicher Autor: Dirk Deimeke
  • Urspruengliches Datum: 09.03.2012

Warum ist eigentlich das Verstaendnis (wenigstens einer) Skriptsprache in der Systemadministration so wichtig?

Die Antwort ist sehr einfach: Weil sich damit Aufgaben automatisieren lassen. Automatisierung fuehrt als Nebennutzen dazu, dass Arbeitsablaeufe reproduzierbar werden.

Anders als bei in Maschinensprache uebersetzten Programmen bestehen Skripte aus ASCII-Code, der auf dem System lesbar ist. Das sollte man nicht mit Dokumentation verwechseln, aber es hilft einem selber und eventuell den Kollegen nachzuvollziehen, was ein Skript tut und warum es bestimmte Resultate oder Fehler zeigt.

Dabei ist es enorm hilfreich, einen Programmierstil zu verwenden, der die Lesbarkeit eines Skriptes auch foerdert und das ist unabhaengig von der gewaehlten Sprache. Ja, auch in Perl kann man lesbaren Code schreiben und das ist gar nicht einmal so schwer. Ich habe einige Administratoren kennen gelernt, die es als Schutz ihres Arbeitsplatzes verstanden haben, Code zu schreiben, den niemand ausser ihnen versteht. Das grosse Problem dabei ist, dass sie selber ihren eigenen Code sechs Monate nach dem sie ihn geschrieben haben nicht mehr verstehen.

Nur ein Gedanke: Wenn die Arbeit eh doppelt gemacht werden muss, kann der Chef sich auch einen neuen dafuer suchen. Jeder ist ersetzbar, aber wenn jemand (sehr) gute Arbeit leistet, ist die Huerde fuer eine Kuendigung hoeher. Die eigene Arbeitsqualitaet und die Professionalitaet ist der beste Schutz vor Kuendigung.

Ja, auch klassische Administratoren sind Programmierer, wenn sie ihren Job gut machen, da kann Admin auch mal ein Programmierbuch zur Hand nehmen, um sich fortzubilden. Bei O'Reilly ist The Art of Readable Code erschienen, was sich bei Paperc gratis nach kostenfreier Anmeldung lesen laesst.

Den Jeningen, denen das mit dem Buch zu viel ist, moechte ich drei einfache Tipps mit auf den Weg geben:

  1. Nutzt sprechende Funktions- und Variablennamen.
    Ja, es ist mehr Arbeitsaufwand, aber der macht sich bezahlt. Ich bekomme gerade noch zugerufen, dass man sich die Ungarische Notation mal anschauen sollte. Dem schliesse ich mich an, die sieht gar nicht schlecht aus.
  2. Nutzt Einrueckungen, wenn die Programmiersprache es zulaesst.
    Einrueckungen strukturieren Code und machen ihn leichter ueberschaubar. Tipp am Rande: Ein Befehl pro Zeile reicht, Zeilen nach Moeglichkeit nur so lang machen, dass sie auf dem Bildschirm auch in einer Zeile darstellbar sind.
  3. Keine Angst vor Leerzeichen und Leerzeilen.
    Sinnvoll eingesetzt helfen auch sie, die Struktur leichter zu erfassen.

Selbstverstaendlich darf man auch Kommentare verwenden und wenn man im Hinterkopf behaelt, dass bei Codebloecken, deren Laenge eine Bildschirmseite uebersteigt, die Fehlerquote exponentiell ansteigt, ist alles im gruenen Bereich.

Die Wahl der geeigneten Skriptsprache ist auch haeufig ein Thema. Es schadet nichts, wenn man viele Konzepte kennt, um die richtige Sprache fuer den richtigen Zweck auszuwaehlen. Meistens aber sind die Sachzwaenge so, dass man eine zu benutzende Skriptsprache vorgesetzt bekommt, in diesem Fall kann man nicht waehlen, das macht es einfach, oder dass man mit vielen Systemen zu tun hat, da wuerde ich die Sprache waehlen, die in der eigenen Infrastruktur am weitesten verbreitet ist.

Fuer den Bereich, in dem ich taetig bin, wuerde die Wahl immer wieder auf Perl fallen und das gleich aus zwei Gruenden: Ich mag Perl ;-) und es ist auf jedem System (inklusive Windows) vorinstalliert. Bei Shell-Skripten faellt die Wahl auf die Korn Shell, weil die auf allen Truemmern installiert ist.

Zurück zur Uebersicht