我无法理解为什么这些命令无法工作:
[ $(find /shares/Public -name *.scr -type f | sed "/.scr/a>removed | " >>/shares/Public/delete_scr.log) ] && (echo -e "$(date)\r\n" >>/shares/Public/delete_scr.log & find /shares/Public -name *.scr -type f -delete)
它是一个crontab作业,它应该删除带有.scr结尾的文件,并将每个案例记录在最后一个日期的一行上。但是,如果find-command返回文件,脚本应该只写入日志文件。
我对此并不强烈,我的测试表明,即使找到文件,$(find ...)也会返回零长度字符串。这意味着即使没有找到文件,也会将日期写入日志...
我试过了! -z和! -n但我想我需要另辟蹊径 - 但是怎么做?
谢谢,