HOSTNAME在环境中设置,但对gmake不可见
|
这困扰了我好多年。谁能解释为什么“ 0”不扩展为环境值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
没有找到相关结果
已邀请:
3 个回复
搜洼挂时
绊伦欧
命令),它会继承外壳程序的原始环境变量以及外壳程序内部的所有\“ exported \”变量。如果Shell的原始环境没有$ HOSTNAME且没有导出$ HOSTNAME,则它将不在衍生进程的环境中。 运行
以查看导出变量的列表。在我的系统上,$ HOSTNAME默认不在导出中。如果希望HOSTNAME在生成的进程中可用,则可以在命令行或.bashrc / profile中单击4。
糖固傻染