ÜBERSICHT
#!/bin/sh -e
. /usr/share/debconf/confmodule
db_version 2.0
db_capb 'backup'
CAPB=$RET
db_input 'foo/bar' || true
db_go || true
BESCHREIBUNG
Dies ist eine Bibliothek von Shell-Funktionen, die die Kommunikation mit Debians Konfigurationsmanagementsystem erleichtert. Sie kann mit einer Benutzerschnittstelle über das Debconf-Protokoll kommunizieren. Nach dem Design wird jeder Befehl in dem Protokoll durch eine Funktion in diesem Modul repräsentiert. Der Funktionsname ist derselbe wie der Befehl, außer dass er das Präfix »db_« hat und kleingeschrieben wird. Rufen Sie die Funktion auf und übergeben Sie ihr jegliche Parameter, die Sie dem Befehl folgen lassen wollen. Jeglicher wörtliche Rückgabewert von der Benutzerschnittstelle wird Ihnen in der Variablen $RET zurückgegeben, während der nummerische Rückgabewert von der Benutzerschnittstelle als Rückgabewert $? zurückgegeben wird (und deshalb müssen diese Rückgabewerte aufgefangen oder ignoriert werden).ANMERKUNGEN
Sobald diese Bibliothek geladen ist, kommt jeglicher Text, den Sie später ausgeben, auf die Standardfehlerausgabe, statt auf die Standardausgabe. Generell ist dies eine gute Sache, da Text, der auf die Standardausgabe geschickt wird, von der Schnittstelle als Befehle interpretiert wird. Falls Sie direkt einen Befehl an die Schnittstelle schicken wollen, müssen Sie ihn auf den Dateideskriptor 3 ausgeben, wie folgt:echo GET foo/bar >&3
Die Bibliothek prüft die Variable DEBIAN_HAS_FRONTEND, um sicherzustellen, dass sie tatsächlich mit einer Benutzerschnittstelle spricht. Falls diese gesetzt ist, wird angenommen, dass eine Benutzerschnittstelle läuft. Falls nicht, verwandelt sich die Bibliothek in eine, und führt eine Kopie des Skripts aus, das die mit ihm verbundene Bibliothek geladen hat. Dies bedeutet, dass Sie dies ganz am Anfang Ihres Skriptes tun sollten, falls Sie diese Bibliothek sourcen, weil alles vor dem Sourcen der Bibliothek wahrscheinlich nochmals ausgeführt werden könnte.