最初の例では、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番目の例では、一重引用符のため、シェルは変数を拡張できません。