2017-01-25 5 views
0

Я пытаюсь проверить, существует ли папка. Если это не так, я создаю его.Команда is_dir не найден

У меня есть этот код:

if [ $(is_dir "$contaniningdir/run") = "NO"]; then 
    mkdir "$containingdir/run" 
fi 

Однако, я получаю:

is_dir: command not found

Так как то, что правильный способ сделать это?

ответ

3

Вы должны использовать

if [ ! -d "$DIRECTORY" ]; then 
    # your mkdir and other stuff ... 
fi 

как на this question/answer.. Другой актуальный вопрос/ответ: here.

Один из комментариев также упоминает важное замечание:

Одна вещь, чтобы иметь в виду: [! -d "$ DIRECTORY"] будет true либо , если $ DIRECTORY не существует, либо существует, но не является каталогом.

Для получения дополнительной информации, вероятно, вы должны проверить эту страницу другого вопроса.

is_dir является функцией PHP, что вы, вероятно, смешанной с Башем непреднамеренно :)

1

Баша способен проверять на существование директории без внешних команд:

if [ ! -d "${containingdir}/run" ]; then 
    mkdir "${containingdir}/run" 
fi 

! отрицания, -d чеки если аргумент существует и является каталогом

Смежные вопросы