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
谓词继续令人惊讶/困惑。谢谢分享。