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

usr-local-ΕΨΗΕΛΩΝ
quelle

Antworten:

3

Benutzen dirname um den Verzeichnispfad abzurufen (anstatt basename ).

Verweisen: dirname

M K
quelle