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 я использовал$ () обычно во многих правилах.

Спасибо :)

Ответы на вопрос(2)

Ваш ответ на вопрос