特定のフォルダのディレクトリを繰り返しながら、特定のディレクトリ名をスキップしたいと思います。これを行うには、このbashスクリプトを作成しましたが、エラーが発生します。どこに間違っているのか教えてください。
for f in *
do
if [ -d "$f" ]; then
if [ -d "TEST"];then
echo "skip TEST directory"
continue
fi
echo "$f"
fi
done
TESTディレクトリをスキップしたいです。
ベストアンサー1
あなたのifステートメントが正しくありません。 2番目のifステートメントを次のように変更してみてください。
for f in *
do
if [ -d "$f" ]; then # Modify to [[ ! -L "$f" && -d "$f" ]] to check only for directories and not symlinks since -d will also get symlinks
if [ "$f" = "TEST" ]; then
echo "Skipping $f dir"
continue
fi
# Code ...
fi
done