我有这个不完整的命令:
find /var/www/vhosts/domain/folder/ -name '*.flv' -size +5000k && /bin/mail -s "The file is available!" "my@address.com" > /dev/null
我无法插入条件,如果文件超过5000k则必须发送邮件,否则没有。
谢谢。
答案 0 :(得分:1)
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在flv
的输出中检测到包含字符串find
的行,则返回0,否则为1. mail
命令仅在{{1}的退出代码0上执行1}}。