问题 如何在shell脚本中使用Jenkins环境变量?


我想用jenkins内部版本号更新一个java文件。我计划使用shell脚本将值sed到正确的内部版本号。我目前正在这样做:

sed -i 's/Version 3.0/Version $BUILD_DISPLAY_NAME/g'
/var/lib/jenkins/jobs/AndroidTest/workspace/xxx/res/values/strings.xml

为什么这不起作用?我想我可以直接使用它们。


4289
2018-01-10 00:26


起源

字符串替换不起作用,或者是否收到错误消息,或者版本中的3.0是否被替换为什么? - gareth_bowles
类似的问题 stackoverflow.com/a/41659007/984471 - Vadim Kotov


答案:


shellcheck 会告诉你,扩展不会发生在单引号中。改为使用双引号:

sed -i "s/Version 3.0/Version $BUILD_DISPLAY_NAME/g" /var/lib/jenkins/jobs/AndroidTest/workspace/xxx/res/values/strings.xml

15
2018-01-10 01:39