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

您没有提供示例输入,但在第一个示例中,您的双引号允许disallowedBlockNamesshell 扩展变量它被使用grep。我假设这是您的 php 代码中设置的变量,并且在您的 shell 中不存在,因此它会扩展为空。所以你真正发送给 grep 的是:

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

在第二个示例中,单引号阻止 shell 扩展变量。

相关内容