今日编写脚本发现一个有趣的问题。
[root@coremail ~]# find /home/coremail/logs/deletelog/ -type f -name “.log” -mtime +30 -exec rm -rf {}\;
find: 遗漏“-exec”的参数

从以上目测语句是没问题,但是就是报错。

[root@coremail ~]# find /home/coremail/logs/deletelog/ -type f -name “.log” -mtime +30 -exec rm -rf {} \ ;
find: 遗漏“-exec”的参数
[root@coremail ~]# find /home/coremail/logs/deletelog/ -type f -name “.log” -mtime +30 -exec rm -rf {} ;
find: 遗漏“-exec”的参数
[root@coremail ~]# find /home/coremail/logs/deletelog/ -type f -name “.log” -mtime +30 -exec rm -rf {};
find: 遗漏“-exec”的参数
[root@coremail ~]# find /home/coremail/logs/deletelog/ -type f -name “.log” -mtime +30 -exec rm -rf{};
find: 遗漏“-exec”的参数
[root@coremail ~]# find /home/coremail/logs/deletelog/ -type f -name “.log” -mtime +30 -exec rm -rf{} ;
find: 遗漏“-exec”的参数
[root@coremail ~]# find /home/coremail/logs/deletelog/ -type f -name “.log” -mtime +30 -exec rm -rf {} \;
[root@coremail ~]# echo $?
0
然后经历多次测试发现。

最后是因为{}必须有空格才能识别。