`mkdir -p /path/to/dir` 何时以非零状态退出?

`mkdir -p /path/to/dir` 何时以非零状态退出?
mkdir -p /path/to/something

上述命令何时以非零退出状态退出?

当且仅当/path/to/something在运行命令之前不存在任何文件(或目录?)并且命令无法将其创建为目录时,是否会发生这种情况?

man mkdir

   -p, --parents
          no error if existing, make parent directories as needed

谢谢。

答案1

用几个例子来详细阐述之前的答案。
可能是在尝试在系统文件夹内创建文件夹时:

ubuntu:~$ mkdir /proc/test
mkdir: cannot create directory ‘/proc/test’: No such file or directory
ubuntu:~$ mkdir -p /dev/null/test
mkdir: cannot create directory ‘/dev/null’: Not a directory

或者当您没有上一个文件夹的权限时:

ubuntu:~$ mkdir -p /root/test
mkdir: cannot create directory ‘/root’: Permission denied

如果文件夹中存在同名文件,也会失败:

ubuntu:~$ touch /tmp/test
ubuntu:~$ mkdir -p /tmp/test
mkdir: cannot create directory ‘/tmp/test’: File exists

答案2

https://www.gnu.org/software/coreutils/manual/html_node/mkdir-invocable.html#mkdir-inspiration:

An exit status of zero indicates success, and a nonzero value indicates failure. 

失败是指需要创建目录但操作失败。

相关内容