Получение каталога файла

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

Я нашел ошибку в monitскрипте инициализации, которую сейчас хочу исправить самостоятельно. Неисправный код

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

Разработчик хочет создать каталог /var/run/monitс, $MONIT_PID_FILEчто равно /var/run/monit/monit.pid, но, к сожалению, возвращает базовое имя файла, а не путь к каталогу. Это приводит к тому, что каталог не создается и не запускается.

Как я могу получить полный путь к каталогу файла, начиная с полного пути к файлу? то есть. /usr/local/myfile.f=>/usr/local

2

1 ответ на вопрос

3
M K

Используйте dirnameдля получения пути к каталогу (вместо использования basename).

Ссылка: dirname