在 find -exec 中使用大括号 {} 作为占位符的历史原因是什么

在 find -exec 中使用大括号 {} 作为占位符的历史原因是什么

每个人都知道find . -exec foo {} \;,但在某个时候就停止了思考。但最近我又回到了我第一次学习时出现的问题:

为什么有人会选择{}作为路径/名称的占位符?

如果您必须指定语法,您可能会使用某种$组合,就像它们用于许多其他语言中的变量参数一样。作为一名 C 程序员,人们可能会想%printf.甚至@会觉得这是一个自然的选择。或者一些在该上下文中没有特殊含义的“自由”字符。但为什么是一对大括号里面什么都没有呢?牙套总是用来收集里面的东西。对我来说,这似乎是最奇怪的想法。

我了解大多数find历史似乎迷失在不确定之中,但也许有人知道一些以类似方式使用花括号的早期工具?

答案1

可能的原因可能是表示可以分流的无限可能性,find并且您需要一些共同的符号,这仅意味着众多可能性的收敛。所以{}仅表示这一点。

man find但没有提及原因。

相关内容