f52ff2dbcc
Some checks failed
Build all NixOS Configurations / nix build (push) Failing after 20m25s
48 lines
1.4 KiB
Bash
48 lines
1.4 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
# Funktion zum Anzeigen der Nutzung
|
|
display_usage() {
|
|
echo "Usage: $0 <service> <regex>"
|
|
echo " <service>: Name des Systemdienstes"
|
|
echo " <regex>: Regex für die Konfigurationsdatei"
|
|
exit 1
|
|
}
|
|
|
|
# Prüfen, ob genügend Argumente übergeben wurden
|
|
if [ $# -ne 2 ]; then
|
|
display_usage
|
|
fi
|
|
|
|
SERVICE=$1
|
|
REGEX=$2
|
|
|
|
# Holen der Service-Konfiguration
|
|
description=$(systemctl cat "$SERVICE" 2>/dev/null)
|
|
if [ $? -ne 0 ]; then
|
|
echo "Fehler: Service '$SERVICE' konnte nicht gefunden werden."
|
|
exit 2
|
|
fi
|
|
|
|
# Durchsuchen der Ausgabe nach der gesamten Zeile, die mit ExecStart beginnt, und Aufspalten in Strings
|
|
CONFIG_FILE=$(echo "$description" | grep -oP "(?<=ExecStart=).*" | tr ' ' '\n' | grep -E "$REGEX" | head -n 1)
|
|
|
|
if [ -n "$CONFIG_FILE" ]; then
|
|
if [ -f "$CONFIG_FILE" ]; then
|
|
echo "Gefundene Datei: $CONFIG_FILE"
|
|
read -p "Möchten Sie den Inhalt der Datei anzeigen? (Y/n): " CONFIRM
|
|
if [[ -z "$CONFIRM" || "$CONFIRM" =~ ^[Yy]$ ]]; then
|
|
cat "$CONFIG_FILE"
|
|
else
|
|
echo "Anzeigen der Datei abgebrochen."
|
|
exit 0
|
|
fi
|
|
else
|
|
echo "Fehler: Gefundene Datei '$CONFIG_FILE' existiert nicht oder ist nicht lesbar."
|
|
exit 3
|
|
fi
|
|
else
|
|
echo "Fehler: Keine Datei gefunden, die dem Regex '$REGEX' entspricht."
|
|
echo "Die aktuelle Ausgabe von 'systemctl cat $SERVICE':"
|
|
echo "$description"
|
|
exit 4
|
|
fi
|