我正在 VSTS 中运行一个任务,它对上一步中的变量执行一些操作,然后我需要输出结果以供将来的任务使用。我在 linux 构建主机上运行的命令行任务中有以下内容,但是稍后尝试使用 $(podName3) 的结果时我没有运气。

COMMAND="$(echo '$(pods)' | grep -oh -P '[^ ]*' | grep schema)"
##vso[task.setvariable variable=podName3]"$COMMAND"

我已经尝试了几种变体但无济于事,需要一些指导,因为这让我难住了太久

最佳答案

似乎语法不正确。

只需尝试以下格式:

COMMAND="$(echo '$pods' | grep -oh -P '[^ ]*' | grep schema)"
echo "##vso[task.setvariable variable=podName3]$COMMAND"

或者添加一个 powershell 任务并运行以下命令来设置变量:
$COMMAND="$(echo '$env:pods' | grep -oh -P '[^ ]*' | grep schema)"

Write-Host "##vso[task.setvariable variable=podName3]$COMMAND"

更多信息请看Define and modify your variables in a script

关于azure-devops - 将 VSTS 输出变量设置为 bash 命令的结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51588646/

10-14 01:18