Скажем, у меня есть папка:
./folder/
Внутри него много файлов и даже подкаталогов.
Когда я выполню:
mkdir -p folder
Я не увижу никаких ошибок, даже предупреждений. так что просто хочу подтвердить, есть ли что-то потерянное или измененное в результате этой команды?
Ответы:
mkdir -p
не выдаст вам ошибку, если каталог уже существует и содержимое каталога не изменится.Ручной ввод для
mkdir
источник
if(err.code == 'EEXIST')
это условие станет истинным, если каталог уже существует.Портативное сценарий будет полагаться на POSIX, в котором говорится о
mkdir
«S-p
опции:и если нет сообщений об ошибках,
-p
опция выполнила свою работу:источник
mkdir выдаст вам ошибку, если каталог уже существует.
mkdir -p НЕ выдаст ошибку, если каталог уже существует. Кроме того, каталог останется нетронутым, то есть содержимое будет сохранено, как было.
источник
Вы говорите, что,
Вы увидите ошибку, если команда не выполнится.
-p
Флаг только подавляет ошибки , если каталог уже существует.Та же проблема возникнет, если вы попытаетесь создать каталог как обычный пользователь, скажем, в
/etc
.То, что
-p
будет подавлено, это ошибки, которые будут срабатывать, когда целевой каталог уже существуетОднако во всех случаях вы ничего не потеряете, и ничего не изменится. В ситуациях с ошибками у вас просто не будет ожидаемой директории.
источник
mkdir -p folder
я не увижу никаких ошибок, даже предупреждений »