Jenkins(管道)Boolean参数Powershell混淆

发布于 2025-01-22 04:59:20 字数 551 浏览 0 评论 0原文

我有一个参数化的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!

最性感的方法是什么?

I have a parametrized Jenkins Pipeline Script, where I pass a Boolean Parameter "isModuleUpdate".

When I use this parameter in my Pipeline Script I get confusing results.
My Script:

 Write-Host ">>> isModuleUpdate as String: $Env:isModuleUpdate"
 Write-Host ">>> isModuleUpdate as Variable: " $Env:isModuleUpdate
 if ($Env:isModuleUpdate) {
      Write-Host ">>> ModuleUpdate is checked!"
 }

When I run my Script, the Result is:

>>> isModuleUpdate as String: false
>>> isModuleUpdate as Variable: false
>>> ModuleUpdate is checked!

What is the sexiest way to check this variable corectly?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

一个人的旅程 2025-01-29 04:59:20

来自

环境变量与PowerShell中的其他类型的变量不同,总是存储为字符串,不能为空。

您的如果语句评估true,因为您的字符串变量不是空的。换句话说,它包含字符串false,而不是布尔值。进行适当的字符串比较:

if ($Env:isModuleUpdate -like 'true') {...

From about_Environment_Variables:

Environment variables, unlike other types of variables in PowerShell, are always stored as a string and can't be empty.

Your if statement evaluates to true, because your string variable is not empty. In other words, it contains the string false and not a boolean value. Do a proper string comparison instead:

if ($Env:isModuleUpdate -like 'true') {...
貪欢 2025-01-29 04:59:20

我记得在PowerShell中检查布尔值的问题。最终,-eq $ true工作:

 if ($Env:isModuleUpdate -eq $true) {

I recall having issues with checking booleans in PowerShell as well. Ultimately, -eq $true worked:

 if ($Env:isModuleUpdate -eq $true) {
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文