sách gpt4 ăn đã đi

git - Makefile $(command) 不工作但 `command` 工作

In lại 作者:太空狗 更新时间:2023-10-29 12:57:32 27 4
mua khóa gpt4 giày nike

问题是当我为我的项目编写 Makefile 时,当我需要检测当前分支名称时,在 make 规则中我这样做了:

check_branch:
if [ "$(git rev-parse --abbrev-ref HEAD)" == "master" ]; then \
echo "In master"
else \
echo "Not in master"; \

当我调用 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"; \

为什么 $() 不起作用但 `` 起作用了?仅适用于“git”命令。

请注意,在我的 Makefile 中,我在许多规则中通常使用 $()

Cảm ơn:)

câu trả lời hay nhất

在食谱中,您必须转义美元符号才能让 shell 解释它们。否则,Make 将 $(git ...) 视为内置命令或变量并尝试对其求值(当然,不成功)。

check_branch: if [ "$$(git rev-parse --abbrev-ref HEAD)" == "master" ]; then \ ...

关于git - Makefile $(command) 不工作但 `command` 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15729491/

27 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress