A cotação só seria necessária se {}
fosse interpretado pelo shell. Nenhum shell moderno (que eu saiba) interpreta {}
de qualquer outra forma que não literalmente. Em bash
e ksh93
, {}
indica uma expansão de chave, mas como {}
é uma expansão de chave vazia, ela não é interpretada. No shell POSIX, ele não tem significado e, portanto, também é literal. Eu não estou ciente de que ele tenha algum significado especial no shell Bourne original.
O mais provável é que as citações sejam apenas cautelosas, e assumir {
ou }
(ou as duas combinadas) pode ser interpretado como metacaracteres por certos shells. Na prática, não consigo pensar em nenhum projétil que atribua significado especial a ele.