为什么在Makefile中使用exec?

时间:2017-01-29 16:29:52

标签: makefile

Makefile中是否需要exec关键字?

build-cache: clean-cache                                    
    @exec ./scripts/copy_packages.sh
    ./scripts/build_makefile.sh
    docker build -t common/cache ./cache

我刚注意到有些行使用exec而其他行则没有。

1 个答案:

答案 0 :(得分:3)

否(exec不是make中的关键字);你错了这条线:

@exec ./scripts/copy_packages.sh

执行此“配方”中的命令时,@表示“不回显此行”。 exec表示make开始运行该行的shell将替换为脚本./scripts/copy_packages.sh

另见What do @, - and + do as prefixes to recipe lines in make?