gpt4 book ai didi

azure - 您可以在 Azure Devops 的内联 Azure Powershell 脚本中使用 IF 语句吗?

转载 作者:行者123 更新时间:2023-12-03 05:25:13 25 4
gpt4 key购买 nike

我在 Azure Devops 中有一个构建 VM 的任务

任务 1 构建虚拟机任务 2 根据需要添加数据磁盘

所以在任务 2 中我有一个内联 powershell 脚本,但是当我运行它时它给出了一个错误"术语“n”未被识别为 cmdlet、函数、脚本文件或可操作程序的名称。请检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。不确定为什么会出现错误?”

 ###Azure Devops pipeline variable is $(datadisk1required) this has the value 'n'
$datadisk1required = $(datadisk1required)
if ($datadisk1required -eq "n")
{
write-host "datadisk1 not required"
write-host $datadisk1required
}

最佳答案

脚本中 AzDO 变量的替换发生在 PowerShell 运行之前,这意味着如果内联脚本定义是:

$powerShellVariable = $(azVariable)

并且任务中 azVariable 变量的值为“string”,传递到 PowerShell 的结果脚本将是:

$powerShellVariable = string

PowerShell 会将裸词 string 解释为命令名称,因此会出现错误。

在 AzDO 变量宏周围加上引号,它将起作用:

$datadisk1required = '$(datadisk1required)'

关于azure - 您可以在 Azure Devops 的内联 Azure Powershell 脚本中使用 IF 语句吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69467136/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com