我正在尝试从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文件获取版本,但是管道的右侧是错误的
答案 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