1997-03-03 22:12:14 +00:00
|
|
|
|
Syntax zu den Konfigurationsdateien:
|
|
|
|
|
====================================
|
|
|
|
|
|
1997-03-19 00:31:33 +00:00
|
|
|
|
Leere Zeilen werden ignoriert. Wenn in einer Zeile ein '#' enthalten ist,
|
|
|
|
|
so wird der Rest der Zeile als Kommentar gewertet.
|
|
|
|
|
Wenn das Zeichen '#' verwendet werden soll, so muss dieses gequotet werden.
|
|
|
|
|
Dieses erfolgt mit dem Zeichen '\'.
|
|
|
|
|
|
|
|
|
|
Der folgende Zeile ist falsch, und fuehrt zu einem Fehler:
|
|
|
|
|
|
|
|
|
|
[FR#ED]
|
|
|
|
|
|
|
|
|
|
Richtig waere
|
|
|
|
|
|
|
|
|
|
[FR\#ED]
|
1997-03-03 22:12:14 +00:00
|
|
|
|
|
|
|
|
|
Steht am Ende einer Nicht-Kommentarzeile ein "\", so wird die Zeile mit der
|
|
|
|
|
naechste Zeile zu einer "verschmolzen". Das Zeichen "\" muss als letztes
|
|
|
|
|
Zeichen stehen, und darf nicht von Tab's oder Leerzeichen gefolgt werden.
|
|
|
|
|
Innerhalb eines String braucht es nicht geqoutet werden.
|
|
|
|
|
Ein Eintrag wie
|
|
|
|
|
|
|
|
|
|
FRED = c:\sinnlos\
|
|
|
|
|
\sinnlos.exe
|
|
|
|
|
# ^ Hier besagt es Zeilenende, die anderen beiden "\"
|
|
|
|
|
# sind normale Zeichen.
|
|
|
|
|
# Die zweite Zeile muss dann direkt am Anfang beginnen,
|
|
|
|
|
# da sonst die Leerzeichen/Tabulatoren mit ausgewertet
|
|
|
|
|
# werden.
|
|
|
|
|
|
|
|
|
|
ist so erlaubt. Das Ergebnis dieser Zeile ist folgendes:
|
|
|
|
|
|
|
|
|
|
FRED = c:\sinnlos\sinnlos.exe
|
|
|
|
|
|
|
|
|
|
Die Datei hat eine aehnliche Syntax wie die smb.conf, win.ini usw.
|
|
|
|
|
Es gibt dort Sektionen und darunter Eintraege.
|
|
|
|
|
Die Syntax wurde allerdings um Untersektionen erweitert. Ein Eintrag kann
|
|
|
|
|
wieder eine Sektion darstellen. Diese Untersektionen koennen beliebig oft
|
|
|
|
|
verschachtelt sein.
|
|
|
|
|
|
1997-05-25 19:40:43 +00:00
|
|
|
|
Alle Tabulatoren und Leerzeichen am Ende einer Zeile werden ignoriert.
|
|
|
|
|
|
1997-03-03 22:12:14 +00:00
|
|
|
|
Es wird die Gross/Kleinschreibung bei den Eintrags- und Sektionsnamen
|
|
|
|
|
ignoriert. Also vor dem Gleichheitszeichen. Danach wird sehr wohl in
|
|
|
|
|
Gross und Kleinschreibung unterschieden.
|
|
|
|
|
|
|
|
|
|
In den Sektions- und Eintragnamen duerfen folgende Zeichen nicht verwendet
|
|
|
|
|
werden: "*?|&/"
|
1997-04-16 22:22:43 +00:00
|
|
|
|
Wenn diese Zeichen erscheinen, werden sie beim Einlesen ignoriert.
|
1997-03-03 22:12:14 +00:00
|
|
|
|
|
|
|
|
|
Am Anfang einer Zeile (sowohl Sektionsname als auch einem Eintrag) koennen
|
|
|
|
|
beliebig viele Leerzeichen als auch Tabulatoren stehen:
|
|
|
|
|
|
|
|
|
|
[SECTION]
|
|
|
|
|
|
|
|
|
|
und
|
|
|
|
|
|
|
|
|
|
[SECTION]
|
|
|
|
|
|
|
|
|
|
sind equivalent.
|
|
|
|
|
|
|
|
|
|
In dem folgenden Beispiel sind Kommentare enthalten, die weitere Regeln
|
|
|
|
|
beschreiben, welche unbedingt beachtet werden muessen.
|
|
|
|
|
|
|
|
|
|
Beispiel:
|
|
|
|
|
|
|
|
|
|
BEGIN-OF-FILE
|
|
|
|
|
|
|
|
|
|
[SECTION1]
|
|
|
|
|
ENTRY1=blabla1
|
|
|
|
|
entry2 = blabla2
|
1997-04-16 22:22:43 +00:00
|
|
|
|
# ^-^-------- Es duerfen vor und nach dem Gleichheitszeichen beliebig
|
1997-03-03 22:12:14 +00:00
|
|
|
|
# Spaces und Tabulatoren verwendet werden.
|
1997-04-08 00:02:05 +00:00
|
|
|
|
# Diese werden vom Interpreter ignoriert.
|
|
|
|
|
# Das erste Zeichen des Wertes der Variablen
|
|
|
|
|
# (nach Gleichheitszeichen) darf weder ein Leerzeichen noch ein
|
|
|
|
|
# Tabublator sein.
|
|
|
|
|
# Auch ein quoten mit '\' ist nicht moeglich.
|
1997-03-03 22:12:14 +00:00
|
|
|
|
Entry3 = {
|
|
|
|
|
# ^----- Dieses Zeichen besagt, das dieser Eintrag ein oder mehrere
|
1997-03-20 00:18:57 +00:00
|
|
|
|
# Untersektionen beinhaltet. Es MUSS in der gleichen Zeile
|
1997-03-03 22:12:14 +00:00
|
|
|
|
# stehen, wie der Eintragsnamen und das Gleichheitszeichen.
|
|
|
|
|
# ^^^^^^--------- "Entry3", "entry3" und "ENTRY3" sind equivalent!
|
|
|
|
|
[SUBSECTION1]
|
|
|
|
|
entry1 = bla1
|
|
|
|
|
...
|
|
|
|
|
|
|
|
|
|
[ subsection2 ]
|
|
|
|
|
# ^-----------^- Hier koennen wieder beliebige Spaces und Tabulatoren stehen.
|
|
|
|
|
# ^^^^^^^^^^--- "subsection2" und "SUBSECTION2" sind equivalent!
|
|
|
|
|
...
|
|
|
|
|
}
|
|
|
|
|
# ^-------------- Hier wird das Ende von Eintrag "ENTRY3" eingeleitet.
|
|
|
|
|
# Das Zeichen "}" muss in einer seperaten Zeile alleine
|
|
|
|
|
# stehen.
|
|
|
|
|
|
|
|
|
|
[SECTION2]
|
|
|
|
|
...
|
|
|
|
|
|
|
|
|
|
END-OF-FILE
|
|
|
|
|
|
|
|
|
|
Anders als bei Windows und Samba wird hier das Zeichen ";" NICHT
|
|
|
|
|
als Kommentarzeichen erkannt, sondern nur "#".
|
|
|
|
|
|
|
|
|
|
Es ist m<>glich eine weitere Datei einzubinden. Das wird durch den Eintrag
|
|
|
|
|
|
|
|
|
|
INCLUDE(Datei)
|
|
|
|
|
|
|
|
|
|
erreicht. Wird "Datei" mit einem relativen Pfad (oder ganz ohne Pfad)
|
|
|
|
|
angegeben, dann wird als aktuelles Verzeichnis, das angesehen,
|
|
|
|
|
wo die Datei liegt, die dieses INCLUDE enthaelt. Die Zeile "INCLUDE"
|
|
|
|
|
kann an beliebiger Stelle in der Konfigurationsdatei vorkommen.
|
|
|
|
|
Der Dateiname darf allerdings keine Leerzeichen und Tabulatoren enthalten.
|
|
|
|
|
|
|
|
|
|
Beispiel:
|
|
|
|
|
|
|
|
|
|
Datei /etc/myconfig/fred enthaelt folgende Zeile:
|
|
|
|
|
|
|
|
|
|
INCLUDE(../myinclude)
|
|
|
|
|
|
|
|
|
|
Dann wird nach der Datei /etc/myinclude gesucht. Es ist voellig
|
|
|
|
|
unabhaengig davon, in welchem Verzeichnis das Programm gestartet wurde,
|
|
|
|
|
das die Konfigurationsdatei lesen soll.
|
|
|
|
|
|
1997-04-16 22:22:43 +00:00
|
|
|
|
In der Include Datei muessen immer genau so viele geschweifte Klammern
|
|
|
|
|
zugehen, wie aufgemacht worden sind. Eine Datei darf nicht folgenden Inhalt
|
1997-04-08 21:56:42 +00:00
|
|
|
|
haben:
|
|
|
|
|
|
|
|
|
|
[TEST1]
|
|
|
|
|
testinhalt = 5
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
Dieses wird leider nicht gut erkannt und kann zur Zeit noch zum Absturz fuehren.
|
|
|
|
|
Auf jeden Fall wird so die Konfigurationsdatei nicht sauber eingelesen!!!
|
|
|
|
|
|
1997-03-20 00:18:57 +00:00
|
|
|
|
ACHTUNG:
|
1997-03-03 22:12:14 +00:00
|
|
|
|
Wenn Dateien rekursiv eingebunden werden, fuehrt dieses mit Sicherheit
|
|
|
|
|
zum Absturz des Programmes. Dieses wird von der Library nicht verhindert.
|