我有一個引數化的 Jenkins 流水線腳本,我在其中傳遞了一個布爾引數“isModuleUpdate”。
當我在我的管道腳本中使用這個引數時,我得到了令人困惑的結果。我的腳本:
Write-Host ">>> isModuleUpdate as String: $Env:isModuleUpdate"
Write-Host ">>> isModuleUpdate as Variable: " $Env:isModuleUpdate
if ($Env:isModuleUpdate) {
Write-Host ">>> ModuleUpdate is checked!"
}
當我運行我的腳本時,結果是:
>>> isModuleUpdate as String: false
>>> isModuleUpdate as Variable: false
>>> ModuleUpdate is checked!
正確檢查此變數的最性感方法是什么?
uj5u.com熱心網友回復:
從about_Environment_Variables:
與 PowerShell 中的其他型別變數不同,環境變數始終存盤為字串且不能為空。
您的if陳述句計算結果為true,因為您的字串變數不為空。換句話說,它包含字串false而不是布林值。改為進行適當的字串比較:
if ($Env:isModuleUpdate -like 'true') {...
uj5u.com熱心網友回復:
我記得在 PowerShell 中檢查布林值也有問題。最終,-eq $true作業:
if ($Env:isModuleUpdate -eq $true) {
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/459124.html
上一篇:無法從Jenkins運行顫振構建
