특수 문자가 포함된 env 변수와 함께 grep 명령을 사용할 때 문제 발생

특수 문자가 포함된 env 변수와 함께 grep 명령을 사용할 때 문제 발생

ksh내 Unix 계정( )에 "xyz*!@#" 값을 가진 "abc" 변수가 있습니다. export이 변수를 환경으로 내보내는 명령을 사용합니다 . grep아래와 같은 명령을 사용할 때

env |grep xyz

나는 출력을 얻는다

abc=xyz*!@#

하지만 다음 명령을 사용할 때

env | grep xyz*!

예상대로 출력이 나오지 않습니다.

abc=xyz*!@#

실제로는 전혀 출력을 얻지 못합니다.

답변1

*정규 표현식에서는 특별한 의미를 가지므로 이스케이프 처리하세요.

env | grep 'xyz\*!'

또는 -F옵션을 사용하여 grep인수가 정규 표현식이 아닌 일반 텍스트로 처리되도록 지시합니다.

env | grep -F 'xyz*!'

관련 정보