Bash에서 디렉터리를 반복하고 특정 디렉터리 이름을 건너뜁니다.

Bash에서 디렉터리를 반복하고 특정 디렉터리 이름을 건너뜁니다.

특정 폴더의 디렉터리를 반복하면서 특정 디렉터리 이름을 건너뛰고 싶습니다. 이를 위해 이 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 문이 올바르지 않습니다. 두 번째 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

관련 정보