Azure devops 将bash命令输出设置为azure yml变量

Azure devops 将bash命令输出设置为azure yml变量,azure-devops,yaml,azure-pipelines,Azure Devops,Yaml,Azure Pipelines,我正在使用Azure DevOps,我需要将bash命令的返回设置为一些变量,例如,我有以下内容: variables: VERSION: 7.2 # works fine FILE_VERSION: ${{cat public/VERSION}} # syntax error 我尝试了${}的一些变体,但没有成功,我找不到正确的语法,但我认为这一定是可能的。您应该使用 像这样: 步骤: -狂欢节:| echo vso[task.setvariable=文件\u

我正在使用Azure DevOps,我需要将bash命令的返回设置为一些变量,例如,我有以下内容:

    variables:
      VERSION: 7.2 # works fine
      FILE_VERSION: ${{cat public/VERSION}} # syntax error
我尝试了${}的一些变体,但没有成功,我找不到正确的语法,但我认为这一定是可能的。

您应该使用

像这样:

步骤: -狂欢节:| echo vso[task.setvariable=文件\u版本]$cat public/VERSION 你应该使用一个

像这样:

步骤: -狂欢节:| echo vso[task.setvariable=文件\u版本]$cat public/VERSION
您需要分两步完成此操作

步骤1:首先设置静态值

步骤2:创建步骤以计算值

注意:这仅适用于后续步骤

      - bash: |
          FILE_VERSION="$(cat public/VERSION)"
          echo "##vso[task.setvariable variable=FILE_VERSION]$FILE_VERSION"
资源:


您需要分两步完成此操作

步骤1:首先设置静态值

步骤2:创建步骤以计算值

注意:这仅适用于后续步骤

      - bash: |
          FILE_VERSION="$(cat public/VERSION)"
          echo "##vso[task.setvariable variable=FILE_VERSION]$FILE_VERSION"
资源:


在定义变量时,我们不应该使用cat命令。该命令应位于任务/步骤中

根据您的描述,我假设您试图将public/7.2的内容传递给FILE\u VERSION变量。这是我的测试:

1.Azure Devops Git回购:

2.定义版本变量:

variables:
      VERSION: 7.2
运行cat命令并执行以下操作:

整个亚马尔:

trigger:
- master

pool:
  vmImage: 'ubuntu-latest'

variables:
      VERSION: 7.2

steps:
- bash: |
          FILE_VERSION=$(cat public/$(VERSION))
          echo "##vso[task.setvariable variable=FILE_VERSION]$FILE_VERSION"
          
#Use second bash task to test the variable.
- task: Bash@3
  inputs:
    targetType: 'inline'
    script: |
      echo $(FILE_VERSION)

在定义变量时,我们不应该使用cat命令。该命令应位于任务/步骤中

根据您的描述,我假设您试图将public/7.2的内容传递给FILE\u VERSION变量。这是我的测试:

1.Azure Devops Git回购:

2.定义版本变量:

variables:
      VERSION: 7.2
运行cat命令并执行以下操作:

整个亚马尔:

trigger:
- master

pool:
  vmImage: 'ubuntu-latest'

variables:
      VERSION: 7.2

steps:
- bash: |
          FILE_VERSION=$(cat public/$(VERSION))
          echo "##vso[task.setvariable variable=FILE_VERSION]$FILE_VERSION"
          
#Use second bash task to test the variable.
- task: Bash@3
  inputs:
    targetType: 'inline'
    script: |
      echo $(FILE_VERSION)