Citando chaves no shell [duplicado]

2

Encontrei exemplos de citações diferentes para chaves find , mas não consegui encontrar uma explicação. As escolhas possíveis são:
    1. {}
    2. '{}'
    3. "{}"
E todos eles parecem funcionar bem. Existe uma diferença entre eles?

    
por Forethinker 21.03.2013 / 06:04

1 resposta

3

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.

    
por 21.03.2013 / 08:13