jco*_*ctx 1 bash makefile environment-variables gnu-make
这困扰了我好多年。谁能解释为什么$(HOSTNAME)不扩展到环境值HOSTNAME?谷歌搜索“ make”,“ hostname”,“ gmake”,“ not set”等等的各种组合对我来说并不富有成果。
jcomeau@intrepid:/tmp$ set | egrep 'HOSTNAME|USER'
HOSTNAME=intrepid
USER=jcomeau
jcomeau@intrepid:/tmp$ cat Makefile
%.test:
set | grep $*
%.env:
echo $($*)
jcomeau@intrepid:/tmp$ make HOSTNAME.test
set | grep HOSTNAME
BASH_EXECUTION_STRING='set | grep HOSTNAME'
HOSTNAME=intrepid
jcomeau@intrepid:/tmp$ make HOSTNAME.env
echo
jcomeau@intrepid:/tmp$ make USER.test
set | grep USER
BASH_EXECUTION_STRING='set | grep USER'
USER=jcomeau
jcomeau@intrepid:/tmp$ make USER.env
echo jcomeau
jcomeau
Run Code Online (Sandbox Code Playgroud)