问题是,当我在写我的项目一个Makefile,当我需要检测当前分支名称,在生成规则我这样做:
check_branch:
if [ "$(git rev-parse --abbrev-ref HEAD)" == "master" ]; then \
echo "In master"
else \
echo "Not in master"; \
fi
当我打电话化妆check_branch中, “$(GIT REV-解析--abbrev-REF HEAD)”没有工作,它返回“”空字符串。 而是当我改变$()来``,它的工作完美。
check_branch:
if [ "`git rev-parse --abbrev-ref HEAD`" == "master" ]; then \
echo "In master"
else \
echo "Not in master"; \
fi
为什么()不工作$但是``做? 仅适用于“混帐”命令。
请注意,在我的Makefile中,我通常在许多规则使用$()。
谢谢 :)