재귀적으로 ext를 찾는다면 유닉스에서는 else를 찾을 수 있습니다.

재귀적으로 ext를 찾는다면 유닉스에서는 else를 찾을 수 있습니다.

이것이 제가 일반적으로 사용하는 것입니다. 하지만 then, else를 사용하여 재귀적으로 확장을 찾아야 합니다. 이 문제의 문제점은 재귀적이지 않다는 것입니다.

if ls $HOME/Downloads/*.ext >/dev/null 2>&1
then
    :
else
    :
fi

답변1

findls 대신 사용하세요 . GNU find가 있으면 -quit첫 번째 일치 후 종료하는 데 사용할 수 있습니다. 그런 다음 결과가 반환되었는지 확인하십시오.

스크립트는 다음과 같습니다

if [ -n "$(find $HOME/Downloads -name '*.ext' -print -quit | head -n 1)" ]
then
    :
else
    :
fi

대소문자를 구분하지 않고 검색하려면 -name 대신 -iname을 사용하세요.

관련 정보