2016-11-29 3 views
0

にtrueと評価され、私はフラグメント

init: 
- ps: $Env:LABEL = If ($Env:APPVEYOR_REPO_TAG) { "Tag" + $Env:APPVEYOR_REPO_TAG_NAME } else { "nontaglabel" } 

が含まれているappveyor.yml定義が後でアクセス%LABEL%しようとすると、非タグはコミットの上、それは「プレーンな文字列が含まれていますタグ"。私は文字列 "nontaglabel"を含むことを期待していました。

タグコミットでは、タグ名に接尾辞として期待される文字列Tagが含まれています。

タグではないコミットで、環境変数 "nontaglabel"を環境変数に割り当てる方法はありますか?

答えて

1

これは、$Env:APPVEYOR_REPO_TAGが、非タグコミットで文字列値が "false"であるためです。したがって、($Env:APPVEYOR_REPO_TAG)は、文字列の値がnullまたは空でないため、trueと評価されます。 ($Env:APPVEYOR_REPO_TAG -eq $true)または($Env:APPVEYOR_REPO_TAG -eq "true")を使用してください - 両方とも動作します。