이것이 제가 일반적으로 사용하는 것입니다. 하지만 then, else를 사용하여 재귀적으로 확장을 찾아야 합니다. 이 문제의 문제점은 재귀적이지 않다는 것입니다.
if ls $HOME/Downloads/*.ext >/dev/null 2>&1
then
:
else
:
fi
답변1
find
ls 대신 사용하세요 . GNU find가 있으면 -quit
첫 번째 일치 후 종료하는 데 사용할 수 있습니다. 그런 다음 결과가 반환되었는지 확인하십시오.
스크립트는 다음과 같습니다
if [ -n "$(find $HOME/Downloads -name '*.ext' -print -quit | head -n 1)" ]
then
:
else
:
fi
대소문자를 구분하지 않고 검색하려면 -name 대신 -iname을 사용하세요.