grep falha procurando por string

1

Eu não entendo porque o grep não funciona no primeiro exemplo

bla@ble:~/html/example$ grep -r "protected $disallowedBlockNames = array('install/end');" app/
bla@ble:~/html/example$

Mas

bla@ble:~/html/example$ grep -r 'protected $disallowedBlockNames = array' app/

app/Resource/Block.php:    protected $disallowedBlockNames = array('install/end');
    
por ooootramas 11.05.2018 / 15:57

1 resposta

3

Você não forneceu entrada de amostra, mas no seu primeiro exemplo suas aspas duplas estão permitindo que a variável disallowedBlockNames seja expandida pelo seu shell antes é usada por grep . Eu estou supondo que esta é uma variável definida no seu código php e não existe em seu shell e, portanto, está se expandindo para nada. Então o que você está realmente enviando para o grep é:

grep -r "protected  = array('install/end');" app/

No segundo exemplo, as aspas simples impedem que o shell expanda a variável.

    
por 11.05.2018 / 16:00