这是我通常使用的。但我需要使用 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
使用 -iname 而不是 -name 进行不区分大小写的搜索。