gpt4 book ai didi

jenkins - 如何为包含空格的 Jenkins 环境变量指定值

转载 作者:行者123 更新时间:2023-12-02 06:33:56 24 4
gpt4 key购买 nike

我正在尝试为 Jenkins 环境变量(在管理 Jenkins -> 配置系统屏幕上的“全局属性”标题下创建)指定一个包含空格的值。我想在执行 Shell 构建步骤中使用此环境变量。我需要在构建步骤的命令行中显示的选项是:

--platform="Windows 7"

我在命令行上使用的语法是--platform=${VARIABLE_NAME}

无论我如何尝试格式化它,Jenkins 似乎都会重新格式化它,以便将其视为两个值。我尝试过:

  • Windows 7
  • “Windows 7”
  • “Windows 7”
  • Windows\7

在执行 Shell 构建步骤期间输出时,相应的结果为:

  • --platform=Windows 7
  • '--platform="Windows''7"'
  • '--platform='\''Windows' '7'\'''
  • --platform=Windows/7

我还尝试将命令行语法更改为 --platform='${VARIABLE_NAME}' 以及 '--platform=${VARIABLE_NAME}' ,但在每种情况下, ${VARIABLE_NAME} 根本没有解析,只是在结果命令中显示为 ${VARIABLE_NAME}

我希望有一种方法可以实现这项工作。非常感谢任何建议。

最佳答案

您应该能够在全局属性部分中使用不带任何特殊字符的空格。

例如,我将变量“THIS_VAL”设置为具有值“HAS SPACES”。

我的测试构建工作如下:

#!/bin/bash
set +v
echo ${THIS_VAL}
echo "${THIS_VAL}"
echo $THIS_VAL

输出是

[workspace] $ /bin/bash /tmp/hudson8126983335734936805.sh
HAS SPACES
HAS SPACES
HAS SPACES
Finished: SUCCESS

我认为您需要做的是使用以下内容:

--platform="${VARIABLE_NAME}"

注意:使用双引号,而不是单引号。使用单引号会使引号内的内容成为文字,这意味着任何变量都将按原样打印,而不是解析为实际值。因此“${VARIABLE_NAME}”将按原样打印,不会解析为“Windows 7”。

<小时/>

编辑:根据下面的 @BobSilverberg 评论,使用以下内容:

--platform="$VARIABLE_NAME"

注意:没有大括号。

关于jenkins - 如何为包含空格的 Jenkins 环境变量指定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17573573/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com