makefile文件之@和$$

   在编写makefile文件时,我们经常要用到@和$$符号,但是对他们的作用却不是很了解,下面就是我的实验脚本,就该脚本应该可以很清楚的了解其作用。

#!/usr/bin/bash

cat > 'Makefile' <<'EOF'
dir=/home/steven
target:
        @echo 'hello'
        @echo $(dir)
        @for i in `ls`; \
        do \
                echo $$i; \
        done
EOF

echo 'making'
make
echo 'done'


需要区分的是make内置变量和shell内置变量,在执行make命令时,脚本会扩展变量,例如:$(dir)扩展之后是/home/stev

en,$$i扩展之后是$i。

如果没有@在shell命令前面,make会首先显示该命令,接着打印之后该命令的结果。并且shell命令还得再target里面执行才

行,放在外面的shell命令,一般情况下执行不通过。我执行的时候报Makefile:2: *** missing separator. Stop.



此文章由指尖极客原创,转载请指出其作者和出处!http://blog.csdn.net/wenchao126


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值