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/

2番目の例では、一重引用符のため、シェルは変数を拡張できません。

おすすめ記事