grep이 문자열을 찾지 못했습니다.

grep이 문자열을 찾지 못했습니다.

첫 번째 예에서 grep이 작동하지 않는 이유를 이해할 수 없습니다.

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

하지만

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

app/Resource/Block.php:    protected $disallowedBlockNames = array('install/end');

답변1

예제 입력을 제공하지 않았지만 첫 번째 예제에서는 큰따옴표를 사용하여 disallowedBlockNames쉘이 변수를 확장할 수 있습니다.앞으로사용됩니다 grep. 나는 이것이 당신의 PHP 코드에 설정된 변수이고 쉘에 존재하지 않는다고 가정하고 있으므로 아무것도 확장되지 않습니다. 따라서 실제로 grep에 보내는 내용은 다음과 같습니다.

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

두 번째 예에서는 작은따옴표로 인해 셸이 변수를 확장하지 못합니다.

관련 정보