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 .

답변2

여러 다른 인용문의 일부를 모아서 단어를 만들 수도 있습니다. 이 경우:

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

관련 정보