export的奇怪现象

newton123456 2010-09-25 07:04:30
export LIUWEN="/homw/newton"
export LIUWEN=/home/newton 请问带引号和不带引号有什么区别吗? echo $LIUWEN出来的结果是一样的 /home/newton 但是用在Makefile里面有区别
在Makefile中使用$(LIUWEN) 会把引号带进去
貌似脚本语言中不会把引号带进去
...全文
70 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
justkk 2010-09-26
  • 打赏
  • 举报
回复
export之后,Makefile中的$(var)是不会有引号的
除非你转义一下export var=\"abc\"
newton123456 2010-09-25
  • 打赏
  • 举报
回复
比如我Makefile里面有这么一句
export XDCPATH=$(CONFIG_BLD_PATH);$(CE_INSTALL_DIR)/packages;$(CE_INSTALL_DIR)/examples;$(CE_INSTALL_DIR)/cetools/packages;$(XDAIS_INSTALL_DIR)/packages;$(DSPLINK_INSTALL_DIR)/packages;$(CMEM_INSTALL_DIR)/packages;$(FC_INSTALL_DIR)/packages;$(XDC_INSTALL_DIR)/packages;$(BIOS_INSTALL_DIR)/packages;/home/user/solutions/lab12a_build_server;$(BIOS_UTILS_DIR)/packages;/home/newton/dvsdk_3_00_02_44/local_power_manager_1_24/packages
其中XDCPATH是一个环境变量
有上面个一句后执行命令:xdc release -PD .会报错
如果这样:
xdc XDCPATH=$(CONFIG_BLD_PATH);$(CE_INSTALL_DIR)/packages;$(CE_INSTALL_DIR)/examples;$(CE_INSTALL_DIR)/cetools/packages;$(XDAIS_INSTALL_DIR)/packages;$(DSPLINK_INSTALL_DIR)/packages;$(CMEM_INSTALL_DIR)/packages;$(FC_INSTALL_DIR)/packages;$(XDC_INSTALL_DIR)/packages;$(BIOS_INSTALL_DIR)/packages;/home/user/solutions/lab12a_build_server;$(BIOS_UTILS_DIR)/packages;/home/newton/dvsdk_3_00_02_44/local_power_manager_1_24/packages release -PD .则没有问题

log:
xdc XDCPATH="/home/newton/workspace/solutions;/home/newton/dvsdk_3_00_02_44/codec_engine_2_24/packages;/home/newton/dvsdk_3_00_02_44/codec_engine_2_24/examples;/home/newton/dvsdk_3_00_02_44/codec_engine_2_24/cetools/packages;"/home/newton/dvsdk_3_00_02_44/xdais_6_24"/packages;"/home/newton/dvsdk_3_00_02_44/dsplink_1_61_03"/packages;"/home/newton/dvsdk_3_00_02_44/linuxutils_2_24_02"/packages;"/home/newton/dvsdk_3_00_02_44/framework_components_2_24"/packages;"/home/newton/dvsdk_3_00_02_44/xdctools_3_15_01_59"/packages;"/home/newton/dvsdk_3_00_02_44/bios_5_33_06"/packages;/home/user/solutions/lab12a_build_server;"/home/newton/dvsdk_3_00_02_44/biosutils_1_01_00"/packages;/home/newton/dvsdk_3_00_02_44/local_power_manager_1_24/packages" release -P .
感觉还是很奇怪,多了些引号。
其中FC_INSTALL_DIR之类的是在一脚本里定义的,也是通过export导出的,类似export FC_INSTALL_DIR="/home/newton****"然后到这个Makefile里其中的引号也引入了
快乐田伯光 2010-09-25
  • 打赏
  • 举报
回复
这跟export没有任何关系, 只跟echo有关系, 请看下面

[root@localhost ~]# echo www
www
[root@localhost ~]# echo 'www'
www
steptodream 2010-09-25
  • 打赏
  • 举报
回复
如果双引号不是必须的 不加也无妨了 我就这样
可是如果是这样export A="CCC DDDD" 这个不加那意义就不一样了
当然还有一些别的特殊情况

23,125

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧