测试命令
在某些情况下,我们可能需要在 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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




