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

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

在我接管的系统上,我使用以下代码的时间最长:

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

然而,进一步研究后我发现大家都说花括号应该用单引号引起来,如下所示:

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

我以前从未遇到过问题,但我很好奇不使用单引号会有什么负面影响。还想知道它是否会因 Linux 版本而异?

服务器是 Ubuntu。

答案1

如果您的文件名中有“特殊”字符(与正则表达式类型的特殊字符不同),则您所说的影响就会显现出来。最明显的是,如果您有一个名为foo /*- 的文件,您的 rm 命令会删除foo其中/*没有单引号的文件,这可能是您不想要的。

相关内容