我正在尝试让这个shell脚本在make中工作
$ VERSION=$(echo 'ThisBuild / version := "1.20"' | grep -e 'This.*version' | grep -Eo '[0-9]+\.[0-9]+')
$ echo $VERSION
1.20make
$ make -v
GNU Make 4.2.1
Built for x86_64-pc-linux-gnuMakefile
version:
VERSION=$(echo 'ThisBuild / version := "1.20"' | grep -e 'This.*version' | grep -Eo '[0-9]+\.[0-9]+') && \
echo "VERSION: ${VERSION}"不管用:
$ make version
VERSION= && \
echo "VERSION: "
VERSION: 这能办到吗?
发布于 2022-01-21 19:13:18
如果您想将$传递给shell,则必须将其从make中解脱出来,方法是加倍它:$$。
version:
VERSION=$$(echo 'ThisBuild / version := "1.20"' | grep -e 'This.*version' | grep -Eo '[0-9]+\.[0-9]+') && \
echo "VERSION: $${VERSION}"否则,make会认为您在引用make变量并展开它。
https://stackoverflow.com/questions/70806497
复制相似问题