複数のディレクトリがあることを確認する

複数のディレクトリがあることを確認する

dir1作業ディレクトリに、など、複数のディレクトリが存在することを確認したいと思いますdir2dir3

私は以下を持っています

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

しかし、よりエレガントな方法があると思います。ディレクトリ名にパターンがあるとしないでください。

目標は、いくつかのディレクトリが存在するかどうか、他のディレクトリは存在しないことを確認することです。

Bashを使用していますが、移植可能なコードが優先されます。

ベストアンサー1

私は繰り返す:

result=True
for dir in \
        "$PWD/dir1" \
        "$PWD/dir2" \
        "$PWD/dir3" 
do
    if ! [ -d "$dir" ]; then
        result=False
        break
    fi
done
echo "$result"

これbreakにより、チェーンと同様にループが短絡する可能性があります。&&

おすすめ記事