Makefile $ (команда) не работает, но `command` сделал
Дело в том, что когда я писал Makefile для своего проекта, когда мне нужно было определить текущее имя ветки, в правиле make я сделал это:
check_branch:
if [ "$(git rev-parse --abbrev-ref HEAD)" == "master" ]; then \
echo "In master"
else \
echo "Not in master"; \
fi
Когда я позвонил make check_branch, "$ (git rev-parse --abbrev-ref HEAD) " А не было»т работа вернулась "" пустой строки. Но вместо этого, когда я изменился$ () в``Сработало отлично.
check_branch:
if [ "`git rev-parse --abbrev-ref HEAD`" == "master" ]; then \
echo "In master"
else \
echo "Not in master"; \
fi
Почему $ () не работает, а `работает? Только длямерзавец» команда.
Обратите внимание, что в моем Makefile я использовал$ () обычно во многих правилах.
Спасибо :)