![Linux: 使用したパターンに一致するファイルが見つからない場合、find コマンドから別の終了コードを取得するにはどうすればよいですか?](https://rvso.com/image/652700/Linux%3A%20%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%9F%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3%E3%81%AB%E4%B8%80%E8%87%B4%E3%81%99%E3%82%8B%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%8C%E8%A6%8B%E3%81%A4%E3%81%8B%E3%82%89%E3%81%AA%E3%81%84%E5%A0%B4%E5%90%88%E3%80%81find%20%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%8B%E3%82%89%E5%88%A5%E3%81%AE%E7%B5%82%E4%BA%86%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%3F%20.png)
次のコマンドを実行するスクリプトがあります:
find /storage2/hpfiles_staging/ -name \*.gz -mmin +600
そして、rsync
ファイルをリモートの場所に転送します。
コマンドが出力を返さない場合がありますfind
(その場所に 10 分以上経過した *.gz という名前のファイルがないため)。その場合、そこにファイルが存在しないというメッセージをログに書き込みます。
しかし、コマンドを実行するとfind
、転送するファイルが見つかったかどうかに関係なく、find
コマンドの終了コードは常に「0」になります (もちろん、構文エラーがない限り)。そのため、その場所でファイルが見つかったかどうかを示すことはできません。
コマンドでファイルが見つからなかった場合に、0 以外の終了コードを取得するためのスイッチやトリックはありますかfind
?
前もって感謝します
答え1
find からの終了コードに影響を与えることはできないと思います。find からの出力をキャプチャし、それを使用してファイルが見つかったかどうかを判断する必要があります。