如果在 `mkdir` 9.0 中不再需要 `-p` 标志?

Jon*_*Jon 2 linux coreutils mkdir

我找不到任何关于这种行为改变的参考

\n
$ mkdir --version\nmkdir (GNU coreutils) 9.0\nCopyright (C) 2021 Free Software Foundation, Inc.\nLicense GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.\nThis is free software: you are free to change and redistribute it.\nThere is NO WARRANTY, to the extent permitted by law.\n\nWritten by David MacKenzie.\n
Run Code Online (Sandbox Code Playgroud)\n

所有文件夹都不存在。

\n
$ mkdir asdfg/qwerty\nmkdir: created directory 'asdfg'\nmkdir: created directory 'asdfg/qwerty'\n
Run Code Online (Sandbox Code Playgroud)\n

但是,对于 mkdir (GNU coreutils) 8.25,行为符合预期。

\n
\xe2\x9e\x9c  ~ mkdir asdfg/qwerty\nmkdir: cannot create directory \xe2\x80\x98asdfg/qwerty\xe2\x80\x99: No such file or directory\n
Run Code Online (Sandbox Code Playgroud)\n

Voj*_*fny 5

我从源代码编译了最新的 coreutils,我仍然需要使用-p与父母一起创建目录:

\n
$ src/mkdir --version\nmkdir (GNU coreutils) 9.0.11-13af8\n\n$ src/mkdir a/b\nsrc/mkdir: cannot create directory \xe2\x80\x98a/b\xe2\x80\x99: No such file or directory\n
Run Code Online (Sandbox Code Playgroud)\n

因此,您要么有一个别名mkdir -p(也可能有一个-v用于详细输出的别名,因为mkdir -p不会打印有关创建目录的信息),要么您的发行版对 coreutils 进行了修补。

\n