
我有一個設置,需要使用“find”在某個目錄中查找 0 個或多個文件,但是,當沒有與某個檢查匹配的文件時,“find”總是會產生錯誤。當沒有文件與模式匹配時,是否可以運行“查找”並忽略錯誤?
答案1
正如 @grawity 所說, find 預計不會報告這些錯誤。無論如何,如果你想抑制錯誤輸出,請將 stderr 重定向到 /dev/null:
find . HERE_YOUR_FIND_PARAMS 2&> /dev/null
當 find 搜尋子路徑中存在一個沒有開啟權限的目錄時,就會發生 find 寫入 stderr 的典型情況。
答案2
到目前為止我發現的唯一可行的解決方案是:
find something 2&> /dev/null || true
這可以確保即使沒有匹配項,最終退出代碼也為零,並且還隱藏了標準輸出錯誤。
答案3
你能忽略這些錯誤嗎?或者,更具體地說,將它們重新導向到/dev/null
?