【问题标题】:Is it possible to recursively create folders using a shell script?是否可以使用 shell 脚本递归地创建文件夹?
【发布时间】:2011-11-25 22:55:17
【问题描述】:

我正在尝试递归地创建目录级别,例如 /folder1/folder2/folder3

我正在尝试mkdir folder1/folder2/folder3,但它不起作用。我该怎么做?

【问题讨论】:

  • 当使用mkdir 等工具出现错误时,尝试mkdir --helpman mkdir 总是一个好主意。

标签: linux bash shell


【解决方案1】:

您应该将-p 参数传递给mkdir,这样它将创建所有子文件夹。 所以按照你的例子:

mkdir -p folder1/folder2/folder3

【讨论】:

  • p 代表什么?
  • 来自 mkdir --help: -p, --parents 如果存在则没有错误,根据需要创建父目录
【解决方案2】:

您可能还想添加 -Z 以确保安全上下文是当前目录的安全上下文:

mkdir -p -Z dir1/dir2/dir3/dir4

假设这是您想要的,并且您希望避免以后不得不做一堆 chown'ing 和 chmod'ing。

【讨论】: