make를 수행할 때 사용하는 $와 bash shell에서 사용되는 $은 의미가 다소 다르다.
bash shell의 경우 $을 사용하는 경우는 보통 variable 값을 참조할 때, 그리고 command substitution을 할 때이다.
bash shell에서 variable 값을 참조하는 대표적인 예를 보자.
MY_TEST=123
echo $MY_TEST
를 하게되면 출력의 결과로 MY_TEST 변수의 값인 123이 출력된다.
그런데, make의 경우에는 variable 값을 참조할 때 아래와 같은 문법을 적용한다.
- 한 문자 길이의 variable을 참조할 때에는 bash에서처럼 variable 앞에 $를 붙인다
- 두 문자 이상 길이의 variable을 참조할 때에는 ${VAR} 또는 $(VAR) 처럼 변수 양 끝을 {}나 ()로 감싼다
(참조 : https://stackoverflow.com/a/3707677)
한 가지 혼동될 수 있는 부분은, bash shell에서는 $()을 command substitution으로 해석한다는 점이다.
가령..
echo $(pwd)
를 하게 되면, pwd 명령어를 수행한 결과가 echo를 통해 출력된다..
'Linux > 공개글' 카테고리의 다른 글
표준입출력과 리다이렉션, 파이프에 대해서 (1) | 2015.08.09 |
---|---|
here document와 here strings에 대해서 (1) | 2015.07.29 |
E: unable to locate package libncurses5-dev (3) | 2015.06.20 |
No rule to make target `net/ipv4/netfilter/ipt_ecn.c', needed by `net/ipv4/netfilter/ipt_ecn.o'. Stop. (2) | 2015.06.07 |
Smashing The Stack For Fun And Profit을 읽으려는 분들에게 (0) | 2015.03.02 |