azure - Azure Yaml 管道表达式;${{}} 与 $()
问题描述
在阅读了azure yaml pipelines中的Expressions${{}}
文档后, and的语法$[]
得到了很好的解释。但还有第三种,即$()
。我不清楚为什么需要它以及它究竟做了什么。例如,在该文档的某处有以下示例
jobs:
- job:
variables:
a: $[counter(format('{0:yyyyMMdd}', pipeline.startTime), 100)]
steps:
- bash: echo $(a)
为什么我们不能将变量打印a
为- bash: echo $[a]
?
解决方案
为什么我们不能将变量 a 打印为 - bash: echo $[a]?
那是因为建议的运行时表达式变量仅在运行时扩展,它不会被评估。
因此,如果我们使用语法类型bash: echo $[a]
,它将是扩展表达式a
,而不是评估 的值a
。
您可以查看文档了解变量语法以获取更多详细信息:
Azure Pipelines 支持三种不同的方式来引用变量:宏、模板表达式和运行时表达式。每种语法都可以用于不同的目的,并且有一些限制。
大多数文档示例使用宏语法 (
$(var)
)。在运行时处理具有宏语法的变量。运行时发生在模板扩展之后。您可以对在运行时扩展的变量($[variables.var])使用运行时表达式语法。
此外,当我们获取静态变量或预定义变量的值时,宏将是一个不错的选择。
希望这可以帮助。
推荐阅读
- erlang - mix ecto.migrate 导致 recv 超时失败的可能根本原因
- scala - 监控 Monix 应用程序内部动态的最佳实践
- python - scrapy crawl 命令使用了错误的 python 解释器(不是当前的)
- java - 找不到Java应用程序的主要方法
- arrays - apiClient.EnvelopeDocumentFields:更新返回请求 200
- reactjs - React Native:如何让 Moneris 事务返回到应用程序?
- omnet++ - 如何在 OMNet ++ 中查看街道?
- highcharts - 我在哪里可以获得 HighStock 旧版本?
- xml - 如何使用 Visual Basic 读取 xml 标签的 id
- python - 高级 XML 语言注入