Mittwoch, 28. Januar 2009

Shell-Skripte erstellen

«Dafür habe ich ein Shell-Skript geschrieben» - Diese geradezu Respekt einfordernde Äusserung scheint die ultimative Trennlinie zwischen einem normalen Benutzer und einem Linux-Profi darzustellen. Dabei ist es jedem Anwender, der das Terminal verwendet, möglich, einfache Shell-Skripte zu schreiben und nutzbringend einzusetzen.

Zugegeben, Shell-Skripte können komplexe Programmierungen enthalten und verschiedene Kommando-Interpreter ansprechen. Aber die simpelste Form eines Shell-Skriptes ist die Ausführung eines oder mehrerer Terminal-Befehle.

Um ein neues Shell-Skript zu erstellen, öffnen Sie einen Texteditor wie Mousepad oder Gedit und legen ein neues Dokument an. Die erste Zeile darin lautet immer

#! /bin/sh

Damit legen Sie fest, mit welchem Programm der enthaltene Code interpretiert werden soll. sh ist dabei zumeist kein eigenes Programm, sondern ein Verweis auf den bevorzugten Interpreter für Shell-Skripte, meistens und auch beim Aspire One, das Programm bash. Eventuell hat sich bash auch bei Ihnen schon einmal mit einer Fehlermeldung im Terminal zu Wort gemeldet.

Anschliessend tragen Sie einen oder mehrere Terminal-Befehle in das Textdokument ein. Für jede Zeile im Terminal tragen Sie auch im Textdokument eine neue Zeile ein. Machen Sie sich Anmerkungen zu den einzelnen Schritten, damit Sie auch später noch wissen, wozu das Skript einmal gedacht war. Damit Ihre Anmerkungen nicht als Code interpretiert werden, setzen Sie ein Kommentarzeichen # an den Zeilenanfang.

Anschliessend sichern Sie die Datei. Shell-Skripte tragen normalerweise das Suffix .sh; Sie können die Datei aber auch ohne Suffix abspeichern.

Sie sehen hier den Vorteil eines Shell-Skriptes, das auf Terminal-Befehlen basiert. Sie können mehrere Befehlszeilen in ein Dokument schreiben und damit wiederkehrende Terminal-Aufgaben automatisieren. Dann brauchen Sie nur noch eine Datei zu öffnen, statt den Code Zeile für Zeile und jedes Mal aufs Neue in das Terminal einzutippen.

Aber es gibt auch Nachteile. Ein Skript bietet weder Interaktivität noch eine optische Rückmeldung. Sie können also keine Terminal-Befehle verwenden, für deren Ablauf eine Benutzereingabe verlangt wird. Und Sie haben kein Feedback über eventuelle Fehler in Ihrem Skript.

Damit Sie ein Shell-Skript per Doppelklick laufen lassen können, müssen Sie die Datei anschliessend als ausführbares Programm markieren. Alternativ können Sie die Datei via Terminal öffnen.

Nach einem Doppelklick scheint gar nichts zu passieren, weil Sie nicht sehen, ob die im Skript enthaltenen Befehle abgearbeitet werden. Sie können aber zumindest eine akustische Rückmeldung erzielen, indem Sie einen Ton abspielen lassen. Der ideale Speicherort für Tondateien ist /usr/share/sounds. Angenommen, Sie haben dorthin eine Datei boing.wav kopiert, dann schreiben Sie ans Ende des Shell-Skriptes die Zeile

play /usr/share/sounds/boing.wav

Wenn Sie den Ton hören, wissen Sie, dass das Skript ausgelöst wurde. Das heisst aber nicht, dass es fehlerfrei abgelaufen ist oder dass bereits alle Kommandos vollständig abgearbeitet wurden.

1 Kommentar:

  1. sehr gute, verständliche erklärung. den tipp mit der sounddatei am ende des skripts find ich auch klasse. :)

    AntwortenLöschen

Kommentare werden erst nach einer inhaltlichen Unbedenklichkeitsprüfung zur Veröffentlichung freigegeben.