Abrufen des Dateiverzeichnisses


2

Ich habe einen Fehler in gefunden monit Init-Skript, das ich jetzt selbst reparieren möchte. Der fehlerhafte Code lautet

PID_DIR=$(/bin/basename "$MONIT_PID_FILE")
/bin/mkdir -p -m0700 "$PID_DIR"

Der Entwickler möchte das Verzeichnis erstellen /var/run/monit von $MONIT_PID_FILE das entspricht /var/run/monit/monit.pid, aber basename gibt leider den Dateinamen und nicht den Verzeichnispfad zurück. Dies führt dazu, dass das Verzeichnis nicht erstellt und die Überwachung nicht gestartet wird.

Wie kann ich den vollständigen Pfad eines Dateiverzeichnisses ausgehend vom vollständigen Pfad der Datei ermitteln? dh /usr/local/myfile.f = & gt; /usr/local

Antworten:


3

Benutzen dirname um den Verzeichnispfad abzurufen (anstatt basename ).

Verweisen: dirname

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.