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