
特定のディレクトリで 0 個以上のファイルを見つけるために 'find' を使用する必要がある設定がありますが、特定のチェックに一致するファイルがない場合、'find' は常にエラーを生成します。パターンに一致するファイルがない場合にエラーを省略しながら 'find' を実行することは可能ですか?
答え1
@grawity が言ったように、find はこれらのエラーを報告することは想定されていません。とにかく、エラー出力を抑制したい場合は、stderr を /dev/null にリダイレクトします。
find . HERE_YOUR_FIND_PARAMS 2&> /dev/null
find が stderr に書き込む典型的なケースの 1 つは、開く権限がないディレクトリが find 検索サブパス内に存在する場合です。
答え2
これまでに私が見つけた唯一の有効な解決策は次のとおりです。
find something 2&> /dev/null || true
これにより、一致するものがない場合でも最終終了コードがゼロになり、stdout エラーも非表示になります。
答え3
エラーを無視できますか? または、より具体的には、 にリダイレクトできますか/dev/null
?