GNU find: 「find」で一致するものが見つからない場合のエラーを無効にする

GNU find: 「find」で一致するものが見つからない場合のエラーを無効にする

特定のディレクトリで 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?

関連情報