KSH - 检查 return 中各个命令的代码 find -maxdepth 0 $path -type f -mtime +$daysold -exec rm -fv {}\;
KSH - Check return code on individual commands in find -maxdepth 0 $path -type f -mtime +$daysold -exec rm -fv {}\;
我正在尝试弄清楚如何在以下语句中检查 find
命令和 rm -fv
命令上的 return 代码:
find -maxdepth 0 $path -type f -mtime +$daysold -exec rm -fv {}\;
基本上,如果发生错误,我想知道它是否发生在 find
或 rm
命令中,并通过电子邮件将该信息转发给我们的开发人员。我该怎么做?我明白如果我查看 $?
,它只会将语句作为一个整体来查看。
find
使用 -exec
命令的 return 代码作为谓词:如果命令成功 - 文件匹配。
因此,您可以通过使用 !
:
否定谓词,使 find
打印所有 rm -fv
命令失败的文件
find -maxdepth 0 $path -type f -mtime +$daysold ! -exec rm -fv {} \; -print
(您必须添加 -print
,因为 -exec
的存在会覆盖默认的隐式 -print
。)
您可以将 find
的输出重定向到一个文件中,如果该文件不为空,那么您可以相应地通过电子邮件发送它。
我正在尝试弄清楚如何在以下语句中检查 find
命令和 rm -fv
命令上的 return 代码:
find -maxdepth 0 $path -type f -mtime +$daysold -exec rm -fv {}\;
基本上,如果发生错误,我想知道它是否发生在 find
或 rm
命令中,并通过电子邮件将该信息转发给我们的开发人员。我该怎么做?我明白如果我查看 $?
,它只会将语句作为一个整体来查看。
find
使用 -exec
命令的 return 代码作为谓词:如果命令成功 - 文件匹配。
因此,您可以通过使用 !
:
find
打印所有 rm -fv
命令失败的文件
find -maxdepth 0 $path -type f -mtime +$daysold ! -exec rm -fv {} \; -print
(您必须添加 -print
,因为 -exec
的存在会覆盖默认的隐式 -print
。)
您可以将 find
的输出重定向到一个文件中,如果该文件不为空,那么您可以相应地通过电子邮件发送它。