-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 .