Linux:如果未找到与我使用的模式匹配的文件,如何从 find 命令中获取不同的退出代码?

Linux:如果未找到与我使用的模式匹配的文件,如何从 find 命令中获取不同的退出代码?

我有一个运行下一个命令的脚本:

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

然后rsync将文件传输到远程位置。

有时find命令不会返回任何输出(因为该位置没有名为 *.gz 且存在时间不短于 10 分钟的文件)。当这种情况发生时,我想向日志中写入一条消息,说明那里没有文件。

但是当我运行该find命令时,无论它是否找到要传输的文件,命令的退出代码find始终为“0”(当然,除非存在语法错误),因此无法向我提示是否在该位置找到文件。

如果命令未找到任何文件,是否有任何开关或技巧可以获得不同于 0 的退出代码find

提前致谢

答案1

我认为您无法影响 find 的退出代码。您或许应该尝试捕获 find 的输出,然后使用它来确定是否找到了任何文件。

相关内容