Unix KSH-在find-maxdepth 0$path-type f-mtime+$Daysell-exec rm-fv{};

Unix KSH-在find-maxdepth 0$path-type f-mtime+$Daysell-exec rm-fv{};,unix,find,return,ksh,rm,Unix,Find,Return,Ksh,Rm,我试图找出如何在下面的语句中检查find命令和rm-fv命令上的返回代码: find -maxdepth 0 $path -type f -mtime +$daysold -exec rm -fv {}\; 基本上,如果发生错误,我想知道它是否发生在find或rm命令中,并通过电子邮件将该信息转发给我们的开发人员。我该怎么办?我知道如果我查看$?,它只会查看整个语句。find使用-exec命令的返回代码作为谓词:如果命令成功-文件匹配 因此,您可以通过使用对谓词求反,使查找打印rm-fv命令失

我试图找出如何在下面的语句中检查
find
命令和
rm-fv
命令上的返回代码:

find -maxdepth 0 $path -type f -mtime +$daysold -exec rm -fv {}\;

基本上,如果发生错误,我想知道它是否发生在
find
rm
命令中,并通过电子邮件将该信息转发给我们的开发人员。我该怎么办?我知道如果我查看
$?
,它只会查看整个语句。

find使用
-exec
命令的返回代码作为谓词:如果命令成功-文件匹配

因此,您可以通过使用
对谓词求反,使
查找
打印
rm-fv
命令失败的所有文件

find -maxdepth 0 $path -type f -mtime +$daysold ! -exec rm -fv {} \; -print
(您必须添加
-print
,因为
-exec
的存在会覆盖默认的隐式
-print


您可以将
find
的输出重定向到一个文件中,如果该文件不是空的,则可以相应地通过电子邮件发送该文件。

转储stderr输出,而不是返回代码。它包含英文错误文本。或者将
rm-fv
调用转换为脚本,该脚本分别从
rm
命令和
$?
查找状态管理错误报告。祝你好运。
find
谓词继续令人惊讶/困惑。谢谢分享。