makefile中":=","=","?=","+="

本文详细介绍了Shell脚本中变量的不同赋值方式及其特点,包括无关位置的等于(=)、有关位置的等于(:=)、条件赋值(?=)及追加赋值(+=)。此外还解释了变量引用的方法,如$(x)以及特殊符号的含义,例如通配符*和%的应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

= 无关位置的等于,值永远等于最后的值

 比如:

 x =a 

 y =$(x) 

 x =b

那么y的值永远等于最后的值,等于 b ,而不是a            

 

:= 有关位置的等于,值取决于当时位置的值

比如:

 x :=a  

 y :=$(x) 

 x :=b

那么y的值取决于当时位置的值,等于 a ,而不是b   

?= 是如果没有被赋值过就赋予等号后面的值
+= 是添加等号后面的值             

 

$(x)

表示引用变量x,一般调用的是用:=复制的变量

 $(PWD)

表示当前目录

%

通配符,比如有a.c,b.c,c.c,则%.c有可能是a.c,或者是b.c,或者是c.c

*

通配符,表示所有的意思,比如有a.c,b.c,c.c,则*.c就等于 a.c b.c c.c

$@              

目标文件

$^                

所有的依赖文件

$<                

第一个依赖文件

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值