これは私が通常使用するものです。ただし、then および else を使用して再帰的に拡張機能を見つける必要があります。この場合の問題は、再帰的ではないことです。
if ls $HOME/Downloads/*.ext >/dev/null 2>&1
then
:
else
:
fi
答え1
ls の代わりにを使用しますfind
。GNU find をお持ちの場合は、-quit
最初の一致後に を使用して終了できます。その後、結果が返されたかどうかを確認します。
スクリプトは次のようになります
if [ -n "$(find $HOME/Downloads -name '*.ext' -print -quit | head -n 1)" ]
then
:
else
:
fi
大文字と小文字を区別しない検索を行うには、-name の代わりに -iname を使用します。