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

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

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

$ mkdir --version
mkdir (GNU coreutils) 9.0
Copyright (C) 2021 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by David MacKenzie.

所有文件夹都不存在。

$ mkdir asdfg/qwerty
mkdir: created directory 'asdfg'
mkdir: created directory 'asdfg/qwerty'

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

➜  ~ mkdir asdfg/qwerty
mkdir: cannot create directory ‘asdfg/qwerty’: No such file or directory

答案1

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

$ src/mkdir --version
mkdir (GNU coreutils) 9.0.11-13af8

$ src/mkdir a/b
src/mkdir: cannot create directory ‘a/b’: No such file or directory

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

相关内容