Bash und Skripten

"Skripten" bezeichnet die Technik, Prozesse zu automatisieren. Dabei werden Befehle aneinandergereiht und als Textdatei, einem sogenanntes "Skript", abgespeichert. Jedes Mal, wenn ein Skript aufgerufen wird, werden die Befehle nacheinander so ausgeführt, als ob man sie per Hand ins Terminal eingegeben hätte.
Skripte dienen dazu, wenige Befehle in einer bestimmten Reihenfolge einfach auszuführen. Durch ausgefeilte Programmierung aber lassen sich auch komplexe Aufgaben lösen.

index Die Bash

Da Skripte natürlich stark auf der Shell aufbauen, für die sie geschrieben wurden, sollte man sich zuerst mit der BASH vertraut machen, die von Haiku benutzt wird. Es finden sich online viele Ressourcen dafür, da sie weit verbreitet ist. Johan Janssons Introduction to bash - a tutorial for bash under BeOS ist ein lesenswertes Dokument.
Das Bash Reference Manual (PDF, 720 KiB) ist gut als Nachschlagewerk geeignet.

index 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. 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, 900 KiB) aus Scot Hackers BeOS Bible.

indexSkripten in Haiku

Früher nutzte Haiku Skripte zum Hoch- und Runterfahren des Systems. Heute wird dafür der launch_daemon genutzt. Der Benutzer kann diesen Prozess allerdings immernoch mit eigenen Skripten erweitern. 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.

index Das UserBootscript

/boot/home/config/settings/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 würde das bedeuten: Erst wenn LaunchBox beendet wird, läuft das Script weiter.

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

index Das UserShutdownScript - funktioniert noch nicht

/boot/home/config/settings/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.

index Das UserShutdownFinishScript - funktioniert noch nicht

/boot/home/config/settings/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.