【发布时间】:2020-08-28 00:36:45
【问题描述】:
构建 RPM 是我们 CI 流程的一部分,因此我自然希望将版本号作为参数传递给 rpmbuild,但我无法让它工作。我尝试了this question 的解决方案,但它说我不能在定义字符串中放入'$':
[mangolorax@localhost build_artifacts]$ ./package_release.sh 1.3.3.7
+ BUILD_VERSION_STRING=1.3.3.7
+ BUILD_DIR=/home/builder/build
+ exec rpmdev-setuptree
+ cd /home/mangolorax/rpmbuild/SPECS/
+ ln -sf /home/builder/build/mvpn.spec
+ rpmbuild --target x86_64 --define 'version ${BUILD_VERSION_STRING}' -bb mvpn.spec -vv
Building target platforms: x86_64
Building for target x86_64
error: line 2: Illegal char '$' in: Version: ${BUILD_VERSION_STRING}
我还找到了this question,但在我看来,这是一个非常复杂的问题解决方案。当然必须有一个更简单的方法来做到这一点?还是我从根本上误解了这个问题?
【问题讨论】:
-
shell中的单引号和双引号有什么区别?