首页 > 解决方案 > 将 VSTS 输出变量设置为 bash 命令的结果

问题描述

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

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

我已经尝试了几种变化无济于事,需要一些指导,因为这已经困扰了我太久了

标签: azure-devopsazure-pipelinesazure-pipelines-release-pipelineazure-pipelines-build-task

解决方案


似乎语法不正确。

只需尝试以下格式:

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"

更多信息请参阅在脚本中定义和修改变量


推荐阅读