문제

스크립트 디렉토리에서 두 가지 변수가 연결되는 위치를 찾으려고 노력하고 있지만 다음을 시도 할 때 다음을 시도합니다.

grep -lire "$DATA_PATH . $AWARDS_YEAR" *

"정의되지 않은 변수"오류가 발생합니다 ...

나는 다음을 사용하여 $ s를 피할 수 있다고 생각했다.

grep -lire "\$DATA_PATH . \$AWARDS_YEAR" *

그러나 나는 같은 오류를 얻습니다. 그래서 $ s가있는 문자열에 대해 어떻게 grep합니까?

도움이 되었습니까?

해결책

TCSH는 일반적인 쉘과 변수에 대해 약간 다르며 FreeBSD의 기본값입니다.

따라서 단일 따옴표 만 사용하십시오. '$VAR', 또는 탈출 $ 인용문 외에 : \$"VAR"

다른 팁

탈출 한 슬래시와 함께 단일 따옴표로 넣으십시오.

grep -lire '\$DATA_PATH . \$AWARDS_YEAR' *

또한, 도트 (.)는 재 푸트 문자입니다. 원하지 않는 경우, 탈출하십시오 (또는 -e 옵션을 사용하지 마십시오).

여기에 있습니다 좋은 참조 더 일반적인 정보와 함께.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top