设置管道变量包含无关的双引号或单引号
Setting pipeline variable contains extraneous double or single quote
我有以下命令在 Azure DevOps yaml 中设置 BASE_URL
变量:
- script: |
echo "##vso[task.setvariable variable=BASE_URL;]$(PROD-CONTAINER-URL)"
condition: and(succeeded(), eq(variables['Build.SourceBranchName'], 'master'))
然而,每当我回显变量时,它看起来像这样:
https://google.com"
如果我将其替换为单引号或将 $(PROD-CONTAINER-URL)
放在引号内或引号外,问题仍然存在。我该如何解决这个问题?是什么原因造成的?
改用 powershell 已修复。一定是 bash 我不知道的转义问题:
- powershell: |
Write-Host "##vso[task.setvariable variable=BASE_URL;]$(TEST-CONTAINER-URL)"
condition: and(succeeded(), eq(variables['Build.SourceBranchName'], 'develop'))
displayName: "Initialize test base url variable"
要解决 Bash 脚本中的这个问题,您需要删除双引号或单引号。
steps:
- script: |
echo ##vso[task.setvariable variable=BASE_URL;]$(PROD-CONTAINER-URL)
displayName: 'Run a one-line script'
- script: |
echo $(BASE_URL)
那么 BASE_URL
变量将不包含引号。
我遇到了类似的问题。
我们最近更改的唯一内容是将池图像更改为 ubuntu-最新。
更改后问题随机出现,但并非总是如此。
发现托管图像 ubuntu-18.04 不再存在错误的引用:
pool:
vmImage: ubuntu-18.04
才发现原来总是这样。有时它会再次失败,只是频率非常低。
我有以下命令在 Azure DevOps yaml 中设置 BASE_URL
变量:
- script: |
echo "##vso[task.setvariable variable=BASE_URL;]$(PROD-CONTAINER-URL)"
condition: and(succeeded(), eq(variables['Build.SourceBranchName'], 'master'))
然而,每当我回显变量时,它看起来像这样:
https://google.com"
如果我将其替换为单引号或将 $(PROD-CONTAINER-URL)
放在引号内或引号外,问题仍然存在。我该如何解决这个问题?是什么原因造成的?
改用 powershell 已修复。一定是 bash 我不知道的转义问题:
- powershell: |
Write-Host "##vso[task.setvariable variable=BASE_URL;]$(TEST-CONTAINER-URL)"
condition: and(succeeded(), eq(variables['Build.SourceBranchName'], 'develop'))
displayName: "Initialize test base url variable"
要解决 Bash 脚本中的这个问题,您需要删除双引号或单引号。
steps:
- script: |
echo ##vso[task.setvariable variable=BASE_URL;]$(PROD-CONTAINER-URL)
displayName: 'Run a one-line script'
- script: |
echo $(BASE_URL)
那么 BASE_URL
变量将不包含引号。
我遇到了类似的问题。 我们最近更改的唯一内容是将池图像更改为 ubuntu-最新。 更改后问题随机出现,但并非总是如此。
发现托管图像 ubuntu-18.04 不再存在错误的引用:
pool:
vmImage: ubuntu-18.04
才发现原来总是这样。有时它会再次失败,只是频率非常低。