问题描述
||
我有这个不完整的命令:
find /var/www/vhosts/domain/folder/ -name \'*.flv\' -size +5000k && /bin/mail -s \"The file is available!\" \"my@address.com\" > /dev/null
我无法插入条件文件,如果文件大于5000k,则必须发送邮件,否则不能发送。
谢谢。
解决方法
find
始终返回退出代码0,除非出现问题。因此,您必须使用其他方法来生成可与&&
一起使用的适当的退出代码(!= 0)。我建议grep
,例如:
find /var/www/vhosts/domain/folder/ -name \'*.flv\' -size +5000k | grep flv && /bin/mail -s \"The file is available!\" \"my@address.com\" > /dev/null
如果grep在find
的输出中检测到包含字符串flv
的行,则返回0,否则返回1。mail
命令将仅在grep
的退出代码0上执行。