用管道传递软件包的版本号,并从版本号创建git标签

时间:2020-05-22 15:28:49

标签: bash

我正在尝试从package.json文件的版本号创建git标签

PACKAGE_VERSION=$(node -p -e "require('./package.json').version") | git tag -a ${PACKAGE_VERSION} -m “Version ${PACKAGE_VERSION}”
git push --tags

我正在从package.json文件获取版本,但是管道的右侧是错误的

2 个答案:

答案 0 :(得分:0)

为什么要使用管道?只需设置变量,然后在单独的语句中使用它即可。 (我尚未检查您用于设置变量的命令,但您说它正在运行。)

PACKAGE_VERSION=..........

git tag -a ${PACKAGE_VERSION} -m "Version ${PACKAGE_VERSION}"

答案 1 :(得分:0)

管道将启动一个子外壳,也就是说,PACKAGE_VERSION尚未定义。

如果您想将脚本构建为1-liner,可以将|替换为&&

请参阅以下示例:

kent$  x='foo'|echo $x
     <--- here the echo cmd prints nothing
kent$  x='foo' && echo $x
foo