Makefile에
TOP := $(shell echo $${PWD-`pwd`})
와 같은 문장이 있던데, TOP에 echo $${PWD-`pwd}를 실행한 것을 집어넣겠다는 이야기는 알겠습니다만..
$${PWD-`pwd`} 가 의미하는 바가 무엇인지요?
$ 기호가 두 개 있는 건 make 변수로 해석되는 것을 방지하기 위한 것이고 $$는 $ 자체를 의미하므로 shell 명령에는 ${PWD-`pwd`}로 들어 가겠죠. ${PWD-`pwd`}는 PWD라는 shell 변수가 unset이면 pwd를 실행한 결과를 넣고 그렇지 않으면 PWD 값을 넣는다는 의미입니다. PWD는 현재 디렉토리 경로를 담고 있는 변수입니다. Bash의 Parameter Expansion 섹션을 봐 보세요.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
$ 기호가 두 개 있는 건 make 변수로 해석되는
$ 기호가 두 개 있는 건 make 변수로 해석되는 것을 방지하기 위한 것이고
$$는 $ 자체를 의미하므로 shell 명령에는 ${PWD-`pwd`}로 들어 가겠죠.
${PWD-`pwd`}는 PWD라는 shell 변수가 unset이면
pwd를 실행한 결과를 넣고 그렇지 않으면 PWD 값을 넣는다는 의미입니다.
PWD는 현재 디렉토리 경로를 담고 있는 변수입니다.
Bash의 Parameter Expansion 섹션을 봐 보세요.
댓글 달기