User Guide

# Bash und Skripten

"Skripten" bezeichnet die Technik Prozesse zu automatisieren, indem Befehle aneinandergereiht werden und das Ganze als Textdatei, ein sogenanntes "Skript", abgespeichert wird. Jedes Mal wenn so ein Skript aufgerufen wird, werden die Befehle nacheinander so ausgeführt, als ob man sie per Hand ins Terminal eingegeben hätte.
Skripte können zum einfachen Ausführen weniger Befehle in einer bestimmten Reihenfolge dienen, durch ausgefeilte Programmierung aber auch komplexe Aufgaben lösen.

## Die Bash

Da Skripten natürlich stark auf die Konsole für die sie geschrieben wurden aufbauen, sollte man sich zuerst mit der BASH vertraut machen, die von Haiku benutzt wird. Dank ihrer weiten Verbreitung existieren für diese Konsole viele Ressourcen online. Johan Janssons Introduction to bash - a tutorial for bash under BeOS ist ein lesenswertes Dokument.

## Die Skripter Bibel

Sobald man sich ein gewisses Grundwissen zum Arbeiten in der Konsole angeeignet hat, ist es an der Zeit sich ein wenig tiefer in die Welt des Skripten zu begeben. Nochmals, es gibt massenhaft Beispiele und Referenzmaterial im Internet und im Buchhandel. Eine sehr schöne, für Haiku praktisch maßgeschneiderte, Einführung ist das online verfügbare Scripting Chapter (PDF, 900kb) aus Scot Hackers BeOS Bible.

## Skripten in Haiku

In Haiku macht das System selbst natürlich auch Gebrauch von Skripten. Hoch- und Runterfahren sind typische Aufgaben für Skripten. Diese definierten Abfolgen können vom Benutzer mit eigenen Benutzerskripten erweitert werden.
Falls sie noch nicht existieren, muss man die benötigten Dateien selbst anlegen. Ansonsten sollten eigene Befehle einfach an den Stellen eingefügt werden, an denen sie ausgeführt werden sollen.

### Das UserBootscript

/boot/home/config/boot/UserBootscript wird ausgeführt, nachdem das System komplett hochgefahren wurde. Man kann zum Beispiel einige Programme aufrufen, die dann nach jedem Hochfahren automatisch gestartet werden:

    # Start LaunchBox
    /boot/system/apps/LaunchBox &

    # Start Workspaces Applet
    /boot/system/apps/Workspaces &

Das "`&`" am Ende jedes Befehls ist wichtig, um ihn im Hintergrund zu starten. Anderenfalls wird das Skript solange anhalten, bis der Befehl beendet ist (in diesem Fall, bis das ausgeführte Programm geschlossen wurde).

Eine einfache Alternative zum oben genannten ist es, die Anwendungen, die nach dem Hochfahren gestartet werden sollen, im Verzeichnis /boot/home/config/boot/launch zu verlinken. Am einfachsten klickt man dazu mit der rechten Maustaste auf die entsprechende Anwendung, geht auf Verknüpfung erstellen und navigiert dann zum oben genannten Verzeichnis.

### Das UserShutdownScript

/boot/home/config/boot/UserShutdownScript wird direkt vor dem Herunterfahren ausgeführt. Das Runterfahren wird abgebrochen, falls das Skript einen anderen Rückgabewert als "0" zurück liefert.

### Das UserShutdownFinishScript

/boot/home/config/boot/UserShutdownFinishScript wird beim Herunterfahren als letztes ausgeführt. Es gilt jedoch zu beachten, das zum Zeitpunkt, an dem dieses Skript ausgeführt wird, viele Systemkomponenten schon nicht mehr laufen.