Kev*_*ith 4 linux environment-variables
最近我不得不更新我的JAVA环境变量 .bashrc
echo $ JAVA_HOME#打印出/ usr/java/...
echo $(JAVA_HOME)#引发错误"找不到JAVA_HOME命令"
我担心我的make文件使用后$(JAVA_HOME)会$JAVA_HOME被识别,但不会被识别$(JAVA_HOME)
我怎样才能达到目前设定的$(JAVA_HOME)平等$JAVA_HOME?另外,为什么会这样呢?
谢谢
更确切地说:
JAVA_HOME是一个shell变量; 假设它已经导出export,那么它就是一个环境变量.$JAVA_HOME是bash扩展名为的shell变量的语法JAVA_HOME.bash,$(command)替换输出command- 所以$(JAVA_HOME)试图运行一个被调用的命令JAVA_HOME,因此你得到的错误.make启动时,它看起来在每个环境变量,并设置一个make同名变量的值相同.(参见http://www.gnu.org/software/make/manual/make.html#Environment.)$(JAVA_HOME)是make扩展make名为的变量的语法JAVA_HOME.所以你Makefile应该工作得很好:$(JAVA_HOME)扩展make变量JAVA_HOME,它被设置为环境变量的值JAVA_HOME(除非你Makefile故意做一些事情来覆盖它),它具有正确的值.
| 归档时间: |
|
| 查看次数: |
3248 次 |
| 最近记录: |