mkdir -p 与 if [[ ! -d 目录名]]

发布于 2024-12-03 00:59:51 字数 145 浏览 0 评论 0原文

有什么理由使用

if [[ ! -d dirname ]]; then mkdir dirname; fi

而不是仅仅使用

mkdir -p dirname

Is there any reason to use

if [[ ! -d dirname ]]; then mkdir dirname; fi

instead of just

mkdir -p dirname

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

笑看君怀她人 2024-12-10 00:59:51

第一个语法取决于您使用的 shell,而不是第二个。

由于如果 dirname 不作为目录存在,两者都会失败,所以没有区别。

The first syntax depends on the shell you are using, not the second.

Since both fail if dirname exists not as a directory, no, there's no difference.

放飞的风筝 2024-12-10 00:59:51
-d FILE        True if file is a directory.

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

如果dirname不包含任何父级,则这两个命令的行为相同。但是,如果 dirname 包含父级,则 -d 将不会创建它们。并且 [[ 与 shell 相关。

-d FILE        True if file is a directory.

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

If dirname does not contain any parents then the two commands behave the same. However if dirname contains parents the -d will not create those. And [[ is shell-dependent.

深海夜未眠 2024-12-10 00:59:51

这两个 ksh 命令在功能上是相同的,因为两者都会创建一个名为 dirname 的目录。

mkdir -p dirname 更优雅。

These two ksh commands are functionally the same since both will create a directory called dirname.

mkdir -p dirname is more elegant.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文