$Env:APPVEYOR_REPO_TAG powershell 变量在非标签上的计算结果为真
$Env:APPVEYOR_REPO_TAG powershell variable evaluates to true on non-tags
我有一个 appveyor.yml
定义,其中包含片段
init:
- ps: $Env:LABEL = If ($Env:APPVEYOR_REPO_TAG) { "Tag" + $Env:APPVEYOR_REPO_TAG_NAME } else { "nontaglabel" }
稍后尝试访问 %LABEL%
时,在非标记提交中它包含纯字符串 "Tag"。我希望它包含字符串 "nontaglabel".
在标签提交时,它包含预期的字符串标签,标签名称作为后缀。
如何将环境变量 "nontaglabel" 分配给非标签提交的环境变量?
这是因为 $Env:APPVEYOR_REPO_TAG
在非标记提交上的字符串值为 "false"。因此,($Env:APPVEYOR_REPO_TAG)
被计算为 true
,因为字符串值不为 null 或为空。请使用 ($Env:APPVEYOR_REPO_TAG -eq $true)
或 ($Env:APPVEYOR_REPO_TAG -eq "true")
-- 两者都可以。
我有一个 appveyor.yml
定义,其中包含片段
init:
- ps: $Env:LABEL = If ($Env:APPVEYOR_REPO_TAG) { "Tag" + $Env:APPVEYOR_REPO_TAG_NAME } else { "nontaglabel" }
稍后尝试访问 %LABEL%
时,在非标记提交中它包含纯字符串 "Tag"。我希望它包含字符串 "nontaglabel".
在标签提交时,它包含预期的字符串标签,标签名称作为后缀。
如何将环境变量 "nontaglabel" 分配给非标签提交的环境变量?
这是因为 $Env:APPVEYOR_REPO_TAG
在非标记提交上的字符串值为 "false"。因此,($Env:APPVEYOR_REPO_TAG)
被计算为 true
,因为字符串值不为 null 或为空。请使用 ($Env:APPVEYOR_REPO_TAG -eq $true)
或 ($Env:APPVEYOR_REPO_TAG -eq "true")
-- 两者都可以。