Linux: как получить другой код выхода из команды find, если не найдено ни одного файла, соответствующего использованному мной шаблону?

Linux: как получить другой код выхода из команды find, если не найдено ни одного файла, соответствующего использованному мной шаблону?

У меня есть скрипт, который выполняет следующую команду:

find /storage2/hpfiles_staging/ -name \*.gz -mmin +600

А затем rsyncфайлы переносятся в удаленное место.

Иногда findкоманда не возвращает никаких выходных данных (поскольку в этом месте нет файлов с именем *.gz и возрастом 10 минут или более). Когда это происходит, я хочу записать в журнал сообщение о том, что там нет файлов.

Но когда я запускаю findкоманду, независимо от того, находит ли она файлы для передачи или нет, код завершения команды findвсегда равен «0» (если, конечно, нет синтаксической ошибки) и, таким образом, не может дать мне указаний о том, найдены ли файлы в этом месте или нет.

Есть ли какой-либо переключатель или трюк, чтобы получить другой код завершения, нежели 0, если команда не нашла ни одного файла find?

заранее спасибо

решение1

Я не думаю, что вы можете повлиять на код выхода из find. Возможно, вам следует попытаться захватить вывод find и использовать его для определения того, были ли найдены какие-либо файлы.

Связанный контент