Попробуйте mkdir -p
:
mkdir -p foo
Обратите внимание, что это также создаст любые промежуточные каталоги, которые не существуют; например,
mkdir -p foo/bar/baz
создаст каталоги foo
, foo/bar
и foo/bar/baz
, если они не существуют.
Некоторые реализации, такие как GNU mkdir
, включают mkdir --parents
в качестве более читаемого псевдонима, но это не указано в спецификации POSIX / Single Unix и не доступно на многих распространенных платформах, таких как macOS, различные BSD и различные коммерческие Unix, этого следует избегать.
Если вам нужна ошибка, когда родительские каталоги не существуют, и вы хотите создать каталог, если он не существует, тогда вы можете test
для существования каталога сначала:
[ -d foo ] || mkdir foo