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
相关产品推荐
相关产品推荐

