You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Makefile中Git命令无返回值:git log执行异常求助

问题原因与解决方案

核心问题

你写的echo $(git log)里,$(git log)会被Make先解析,而非直接交给bash执行。Make把$(git log)当成一个名为git log的变量,但这个变量不存在,会被替换成空字符串,最终实际执行的是echo ,自然没有输出。

修复方案

有两种简单的解决方式:

  • 转义$符号:把$(git log)改成$$(git log),让Make把$$替换成单个$,这样bash拿到的就是$(git log),会正确执行命令替换并打印结果:

    SHELL=/bin/bash
    
    get_log:
        echo $$(git log)
    
  • 直接执行git log:没必要用echo包裹,直接把命令写成git log即可,Make会直接执行这个shell命令并输出结果,更简洁:

    SHELL=/bin/bash
    
    get_log:
        git log
    

内容的提问来源于stack exchange,提问作者Mo T

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 22:00:53