在外壳中引用花括号

在外壳中引用花括号

我找到了花括号的不同引用的示例find,但我找不到解释。可能的选择是:
1. {}
2. '{}'
3."{}"
它们似乎都工作正常。它们之间有区别吗?

答案1

{}仅当shell 解释时才需要引用。没有任何现代 shell(据我所知)会{}以字面意义以外的任何方式进行解释。在bashand中ksh93{}表示大括号扩展,但由于{}是空大括号扩展,因此不会对其进行解释。在 POSIX shell 中,它没有任何意义,因此也是字面意思。我也不知道它在原始的 Bourne shell 中具有任何特殊含义。

最有可能的是,这种引用只是人们的谨慎态度,假设{or }(或两者的组合)可能会被某些 shell 解释为元字符。在实践中,我想不出有任何 shell 可以赋予它特殊的含义。

相关内容