【发布时间】:2021-04-13 17:59:20
【问题描述】:
在 Makefile 里面我是这样的:
release:
version=$$(poetry version | cut -f2 -d " ")
echo "release $$version"
如果我运行,我的终端中的语句运行没有任何问题。
> version=$(poetry version | cut -f2 -d " ")
> echo "release $version"
release 0.0.2
但如果我跑了,
> make release
version=$(poetry version | cut -f2 -d " ")
echo release $version
release
您会在输出中看到release 旁边的版本号。未显示。
【问题讨论】:
-
为什么这个标签是
bash?你在makefile中有SHELL := /bin/bash吗?否则,默认使用/bin/sh。 -
make配方中的每个命令默认在其自己的 shell 中运行。