检查是否存在多个目录

优雅

我要检查多个目录的存在,说dir1dir2并且dir3,在工作目录。

我有以下

if [ -d "$PWD/dir1" ] && [ -d "$PWD/dir2" ] && [ -d "$PWD/dir3" ]; then
    echo True
else
    echo False
fi

但我怀疑这样做有更优雅的方法。不要假定目录名称中存在模式。

目的是检查一些目录是否存在以及其他目录是否不存在。

我正在使用Bash,但首选可移植代码。

杰夫·谢勒(Jeff Schaller)

如果您已经期望它们是目录并且只是在检查它们是否全部存在,则可以使用ls实用程序中的退出代码来确定是否发生了一个或多个“错误”

ls "$PWD/dir1" "$PWD/dir2" "$PWD/dir3" >/dev/null 2>&1 && echo All there

我将输出和stderr重定向/dev/null到以使其消失,因为我们只关心的退出代码ls,而不关心它的输出。写入的所有内容都会/dev/null消失-不会写入您的终端。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章