uio*_*rty 15 continuous-integration azure-devops azure-pipelines
BASE_URL我有以下命令在 Azure DevOps yaml 中设置变量:
- script: |
echo "##vso[task.setvariable variable=BASE_URL;]$(PROD-CONTAINER-URL)"
condition: and(succeeded(), eq(variables['Build.SourceBranchName'], 'master'))
Run Code Online (Sandbox Code Playgroud)
然而,每当我回显该变量时,它就会看起来像这样:
https://google.com"
如果我用单引号替换它或将引号放在$(PROD-CONTAINER-URL)引号内部或外部,那么问题仍然存在。我该如何解决这个问题以及导致它的原因是什么?
要在 Bash 脚本中解决此问题,您需要删除双引号或单引号。
steps:
- script: |
echo ##vso[task.setvariable variable=BASE_URL;]$(PROD-CONTAINER-URL)
displayName: 'Run a one-line script'
- script: |
echo $(BASE_URL)
Run Code Online (Sandbox Code Playgroud)
那么BASE_URL变量将不包含引号。
正如kap 的回答一样,我本周看到了相同的行为,并通过关闭变量输出行周围的 bash 调试来解决,例如:
set +x
echo "##vso[task.setvariable variable=BASE_URL;]$(PROD-CONTAINER-URL)"
set -x
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5275 次 |
| 最近记录: |