免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1640 | 回复: 9
打印 上一主题 下一主题

腳本中的賦值,比如 VERSION ?=2.6.15 中的?=如何解釋? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-03-17 10:57 |只看该作者 |倒序浏览
如題,在google中沒有找到答案,為了节省时间求助下大家,

论坛徽章:
0
2 [报告]
发表于 2009-03-17 10:58 |只看该作者
VERSION ?=2.6.15
没有这样赋值的吧
贴全一点,上下文

论坛徽章:
0
3 [报告]
发表于 2009-03-17 11:04 |只看该作者

回复 #2 oldoger 的帖子

这个例子: KERNELVER ?= $(shell uname -r)
不好意思,上面我举的例子不够精确

论坛徽章:
1
2015年亚洲杯之韩国
日期:2015-04-24 09:07:02
4 [报告]
发表于 2009-03-17 11:07 |只看该作者
$(shell uname -r) 代表命令替换 ?不知道是啥

论坛徽章:
0
5 [报告]
发表于 2009-03-17 11:18 |只看该作者

回复 #4 biglazybug 的帖子

$(shell uname -r)我明白,我认为 ?=  是结合在一起的,以前看过,现在忘记了, 比如变量KERNELVER 已经定义且非空之类的, 希望知道的人详细解释一下,谢谢。

论坛徽章:
0
6 [报告]
发表于 2009-03-17 11:22 |只看该作者

回复 #5 locom 的帖子

shell环境是什么?

论坛徽章:
23
15-16赛季CBA联赛之吉林
日期:2017-12-21 16:39:27白羊座
日期:2014-10-27 11:14:37申猴
日期:2014-10-23 08:36:23金牛座
日期:2014-09-30 08:26:49午马
日期:2014-09-29 09:40:16射手座
日期:2014-11-25 08:56:112015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:0315-16赛季CBA联赛之山东
日期:2017-12-21 16:39:1915-16赛季CBA联赛之广东
日期:2016-01-19 13:33:372015亚冠之山东鲁能
日期:2015-10-13 09:39:062015亚冠之西悉尼流浪者
日期:2015-09-21 08:27:57
7 [报告]
发表于 2009-03-17 11:26 |只看该作者

回复 #1 locom 的帖子

这应该是 makefile 的语法,而不是 shell 的。

论坛徽章:
0
8 [报告]
发表于 2009-03-17 11:29 |只看该作者

回复 #7 ly5066113 的帖子

谢谢各位,的确是makefile的用法,我记错了, 我在看的脚本功能是自动生成makefile, 我找找makefile的资料

论坛徽章:
0
9 [报告]
发表于 2009-03-17 11:32 |只看该作者
Makefile语言的变量赋值2008-04-20 21:37内核makefile 是配合GNU make使用的.除了Gnu make的文档的特点,内核makefile 还有一些GNU扩展的功能.

Gnu make有多种赋值操作符: =   := ?= +=

1 “=” 在”=”左侧是变量,右侧是变量的值,右侧变量的值可以定义在文件的任何一处,也就是说,右侧的变量不一定非要是已定义好的值,其也可以使用后面定义的值.

2 “:=” 前面的变量不能使用后面的变量,只能使用前面已定义好了的变量.如果是这样:

   y := $(x) bar

x :=foo

那么,y的值就是”bar”,而不是”foo bar”

3 “?=”   FOO?=bar ,其含义是FOO没有被定义过,那么变量FOO的值就是”bar”:如果FOO先前被定义过,那么这条语句将什么都不做.

4 “+=”   将右边的变量值附加给左边的变量

   foo=string1

   foo+=string2

这时,foo的变量值为string1 string2

论坛徽章:
0
10 [报告]
发表于 2009-03-17 11:37 |只看该作者
原帖由 locom 于 2009-3-17 11:32 发表
Makefile语言的变量赋值2008-04-20 21:37内核makefile 是配合GNU make使用的.除了Gnu make的文档的特点,内核makefile 还有一些GNU扩展的功能.

Gnu make有多种赋值操作符: =   := ?= +=

1 “=” 在”=”左 ...

学习了!!!谢谢共享!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP