Discussion:
RegExp aus dem Basissystem in Skripten verwenden
(zu alt für eine Antwort)
Marcus Röckrath
2024-05-15 20:42:34 UTC
Permalink
Hallo,

eigentlich macht es ja Sinn, die in /etc/check.d/base.exp für die Checks im
Rahmen der eisfair-Konfigurationsschicht vordefinierten RegExp auch in
eigenen Shellskripten nutzen zu können. Die Struktur der base.exp-Datei
lässt aber eine direkte Verwendung in Skripten nicht zu, sie muss erst für
Shellskripte passend ausgewertet werden.

Ich habe dafür eine Inklude-Datei entwickelt, die im einem Skript gesourced,
die Checkdefinitionen unter dem gleichen Namen als RegExp-Variablen im
Skript zur Verfügung stellt, z. B.

echo "Dieser String enthält die IP 192.168.1.1" | grep -E "${IPADDR}"

Ausgeklammert habe ich alle Checkdefinitionen, die neben einem Wert auch den
Leerstring zulassen, wie z. B. EIPADDR.

Dieses Vorgehen erspart für viele Standardchecks, es sind knapp 90, die
Definition eigener RegExp-Ausdrücke.

Wenn ich im Team geklärt habe, ob wir das innerhalb der Basis unterbringen
oder als eigenständiges Paket anbieten, werde ich es veröffentlichen.
--
Gruß Marcus
[eisfair-Team]
Marcus Röckrath
2024-05-17 09:24:18 UTC
Permalink
Hallo,
Post by Marcus Röckrath
eigentlich macht es ja Sinn, die in /etc/check.d/base.exp für die Checks
im Rahmen der eisfair-Konfigurationsschicht vordefinierten RegExp auch in
eigenen Shellskripten nutzen zu können. Die Struktur der base.exp-Datei
lässt aber eine direkte Verwendung in Skripten nicht zu, sie muss erst für
Shellskripte passend ausgewertet werden.
Ich habe dafür eine Inklude-Datei entwickelt, die im einem Skript
gesourced, die Checkdefinitionen unter dem gleichen Namen als
RegExp-Variablen im Skript zur Verfügung stellt, z. B.
echo "Dieser String enthält die IP 192.168.1.1" | grep -E "${IPADDR}"
Ausgeklammert habe ich alle Checkdefinitionen, die neben einem Wert auch
den Leerstring zulassen, wie z. B. EIPADDR.
Dieses Vorgehen erspart für viele Standardchecks, es sind knapp 90, die
Definition eigener RegExp-Ausdrücke.
Habe gerade das Paket baseregexp veröffentlicht, welches obige Ideen
verwirklichen sol.

Bitte die enthaltene Dokumentation lesen und sich natuerlich auch generell
mit regulaeren Ausdruecken auseinandersetzen.
--
Gruß Marcus
[eisfair-Team]
Loading...