在 Bash 中,如何测试是否存在具有给定路径的目录?

在 Bash 中,如何测试是否存在具有给定路径的目录?

我有以下 bash 代码:

drlist="/backups /Blogs /data /dpkg-repack /Scripts /var/www";
for word in $drlist; do
 echo $word;
done

我需要做的是测试是否$word存在目录,如果不存在则执行以下操作:

mkdir $word;
chown -R $user:users $word;
chmod -R 775 $word;

然后所有目录都存在并且正确设置以供我接下来的处理。

答案1

最新代码:

drlist="/backups /Blogs /data /dpkg-repack /Scripts /var/www";
for word in $drlist; do
    if [[ -d "$word" ]]; do
        echo "Found Dir=> $word";
    else
        echo "Creating Dir=> $word";
        mkdir -p $word;
        chown -R $user:users $word;
        chmod -R 775 $word;
    fi
done

当然,我真的不想看到任何回声,也无法解决目录测试的负面结果,因此仍然需要一点帮助。

在当前测试的机器上,它运行正确,找到了除正确创建的“博客”目录之外的所有内容!

干杯!

光学阅读器

相关内容