grep Fパラメータが正確に一致しません。

grep Fパラメータが正確に一致しません。

-F一致させるためにPHP変数にパラメータを使用しようとしていますgrep。私が実行したとき:

grep -F "$_SESSION['index']" -ri .

ただ一致しますが:

['index']

どうすればマッチさせることができますか$_SESSION$_SESSION存在しない環境変数で読み込んでいてgrep読みますか['index']?私はこれが-Fプレーンテキストで読み込まれると思いましたが、たぶん正規表現の動作をオフにするかもしれません。

このような行動ならどうすればいいですか? PHPは一重引用符を使用するため、カプセル化に一重引用符を使用することはできません。

grep -F '$_SESSION[\'index\']' -ri .

ベストアンサー1

grep -Fシェルの解析を避けません。

二重引用符内でドル記号をエスケープします。

grep -F "\$_SESSION['index']" -ri .

一重引用符には、他の一重引用符を除くすべての項目を含めることができます。エスケープ文字はありません。ただし、引用符付き文字列はエスケープされた引用符に関連付けることができます。

grep -F '$_SESSION['\''index'\'']' -ri .

おすすめ記事