GNU find:停用「find」未找到符合項目時的錯誤

GNU find:停用「find」未找到符合項目時的錯誤

我有一個設置,需要使用“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

相關內容