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.
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.
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.
Skripten 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.
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 und navigiert dann zum oben genannten Verzeichnis.
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.
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.