我要检查多个目录的存在,说dir1
,dir2
并且dir3
,在工作目录。
我有以下
if [ -d "$PWD/dir1" ] && [ -d "$PWD/dir2" ] && [ -d "$PWD/dir3" ]; then
echo True
else
echo False
fi
但是我怀疑这样做有更优雅的方法。不要假定目录名称中存在模式。
目的是检查一些目录是否存在以及其他目录是否不存在。
我正在使用Bash,但首选可移植代码。
1
“目标是检查一些目录是否存在以及其他目录是否不存在。” 好,您的示例检查所有列出的目录是否存在。您能详细说明一下吗?是全部列出还是任何列出?您是否需要检查传递的值实际上是目录,而不是其他类型的文件?
—
Sergiy Kolodyazhnyy
$PWD
顺便说一下,您不需要。[ -d "$PWD/dir1"]
等同于[ -d "dir1" ]
。