find / mnt / tmp -atime中不使用“{}”的结果+91 -exec rm -f {} \;

在我接pipe的系统上,我一直在使用以下代码:

find /mnt/tmp -atime +91 -exec rm -f {} \; 

但是,进一步的研究,我看到每个人都应该用大括号括起来,如下所示:

 find /mnt/tmp -atime +91 -exec rm -f '{}' \; 

我以前从来没有遇到过问题,但是我很好奇没有使用单引号可能带来的负面影响。 也好奇,如果它不同的Linux口味?

服务器是Ubuntu。

如果您的文件名中包含“特殊”字符(与正则expression式types的特殊字符不同),则会显示影响。 最明显的是,如果你有一个名为foo /*的文件 – 你的rm命令会去掉foo然后删除/*而没有单引号,你可能不会这样做。