暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

如何检查目录是否存在

原创 小小亮 2022-12-19
230

测试命令

在某些情况下,我们可能需要在 shell 或脚本中检测目录的存在。如果是这样,有一个快速的方法来测试它。

这里我们使用shell脚本中的一组条件表达式来判断一个目录是否存在,然后返回一个确定的结果。shell命令如下:

[ -d "/path/to/be/tested" ] && echo "The directory DOES exist." || echo "The directory does NOT exist."
复制


在整个命令中,&&是一个短路形式的逻辑与运算符,而|| 是逻辑或运算符。

它是这样工作的:

  • 第一部分是命令test的表达式,参数-d负责检测目录是否存在。
  • 如果第一个测试返回 TRUE,那么它会确保执行第二部分以获得 TRUE 并忽略其余的评估。
  • 如果第一个测试返回 FALSE,则无需评估第二部分,将执行第三部分以获得 TRUE。

让我们看看我们如何使用它。

有效目录

我们在命令中输入一个有效的路径来得到结果。

[oracle@test ~]$ [ -d "/u01/app/oracle/product/19.3.0/db_1" ] && echo "The directory DOES exist." || echo "The directory does NOT exist."
The directory DOES exist.

结果清楚地表明路径存在。

无效的目录

我们在命令中输入了一个无效的路径来得到结果。

[oracle@test ~]$ [ -d "/No/such/file/or/directory" ] && echo "The directory DOES exist." || echo "The directory does NOT exist."
The directory does NOT exist.

结果清楚地表明该路径不存在。

上面的测试命令可以在 Bash (Linux) 和 KSH (AIX, Solaris) 中使用,您可以修改显字符串以供您自己使用。


原文标题:How to Check if Directory Exists

原文作者:Ed Chen

原文链接:https://logic.edchen.org/how-to-check-if-directory-exists/

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论