Это то, что я обычно использую. Но мне нужно рекурсивно найти расширение с помощью тогда и другого. Проблема с этим в том, что он не рекурсивный.
if ls $HOME/Downloads/*.ext >/dev/null 2>&1
then
:
else
:
fi
Это то, что я обычно использую. Но мне нужно рекурсивно найти расширение с помощью тогда и другого. Проблема с этим в том, что он не рекурсивный.
if ls $HOME/Downloads/*.ext >/dev/null 2>&1
then
:
else
:
fi
Используйте find
вместо ls. Если у вас есть GNU find, вы можете использовать -quit
для выхода после первого совпадения. Затем просто проверьте, вернул ли он какой-либо результат.
Сценарий будет выглядеть примерно так
if [ -n "$(find $HOME/Downloads -name '*.ext' -print -quit | head -n 1)" ]
then
:
else
:
fi
Используйте -iname вместо -name для поиска без учета регистра.