linux无缝拼接文件,在Makefile中无缝连接字符串

今天在写Makefile时,忽然遇到了一个问题,如何把几个字符串无缝的连接起来?我自然而然的想到了使用 +=。比如:

laolang@laolang:~/code/gongda/data_java/test$ cat test.mk

1    one:=123

2    two:=345

3    three:=567

4

5    final+=$(one)

6    final+=$(two)

7    final+=$(three)

8

9    list:

10        @echo -n "0"

11        @echo -n $(final)

12        @echo "0"

laolang@laolang:~/code/gongda/data_java/test$

laolang@laolang:~/code/gongda/data_java/test$ make -f test.mk

123 345 567

laolang@laolang:~/code/gongda/data_java/test$

这显示不是我想要的结果,我想要的结果是输出:01233455670

但是它给我多了几个空格,于是我又查在shell script中如何做到这样无缝的连接字符串,于是我找到了如下例子:

[root@localhost sh]# var1=/etc/

[root@localhost sh]# var2=yum.repos.d/

[root@localhost sh]# var3=${var1}${var2}

[root@localhost sh]# echo $var3

/etc/yum.repos.d/ 这个例子来自:

http://www.linuxidc.com/Linux/2011-11/47030.htm

于是我的test.mk成了:

laolang@laolang:~/code/gongda/data_java/test$ make -f test.mk

01233455670

laolang@laolang:~/code/gongda/data_java/test$ cat test.mk

1one:=123

2two:=345

3three:=567

4

5final:=$(one)$(two)$(three) #关键行

6

7list:

8@echo -n "0"

9@echo -n $(final)

10@echo "0"

laolang@laolang:~/code/gongda/data_java/test$ make -f test.mk

01233455670 //现在达到了我想要的效果

laolang@laolang:~/code/gongda/data_java/test$

这样就可以了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值