Das ist, was ich normalerweise verwende. Aber ich muss rekursiv eine Erweiterung mit then und else finden. Das Problem dabei ist, dass es nicht rekursiv ist.
if ls $HOME/Downloads/*.ext >/dev/null 2>&1
then
:
else
:
fi
Antwort1
Verwenden Sie es find
anstelle von ls. Wenn Sie GNU find haben, können Sie es verwenden, -quit
um nach der ersten Übereinstimmung zu beenden. Überprüfen Sie dann einfach, ob ein Ergebnis zurückgegeben wurde.
Das Skript würde ungefähr so aussehen:
if [ -n "$(find $HOME/Downloads -name '*.ext' -print -quit | head -n 1)" ]
then
:
else
:
fi
Verwenden Sie -iname statt -name, um eine Suche ohne Berücksichtigung der Groß-/Kleinschreibung durchzuführen.