Linux: ¿Cómo puedo obtener un código de salida diferente del comando de búsqueda si no se encuentran archivos que coincidan con el patrón que utilicé?

Linux: ¿Cómo puedo obtener un código de salida diferente del comando de búsqueda si no se encuentran archivos que coincidan con el patrón que utilicé?

Tengo un script que ejecuta el siguiente comando:

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

Y luego rsyncse envían los archivos a una ubicación remota.

A veces, el findcomando no devuelve ningún resultado (ya que no hay archivos llamados *.gz con una antigüedad de 10 minutos o más en esa ubicación). Cuando sucede, quiero escribir un mensaje en el registro diciendo que no hay archivos allí.

Pero cuando ejecuto el findcomando, ya sea que encuentre archivos para transferir o no, el código de salida del findcomando siempre es "0" (a menos que haya un error de sintaxis, por supuesto) y, por lo tanto, no puede darme indicaciones sobre si los archivos se encuentran en esa ubicación o no. .

¿Existe algún cambio o truco para obtener un código de salida diferente a 0 si el findcomando no ha encontrado archivos?

gracias de antemano

Respuesta1

No creo que puedas afectar el código de salida de buscar. Quizás debería buscar capturar el resultado de buscar y usarlo para determinar si se encontró algún archivo.

información relacionada