這是我通常使用的。但我需要遞歸地找到帶有 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 進行不區分大小寫的搜尋。