Rya*_*ies 3 powershell null if-statement zero
我希望能够将单个int传递给powershell脚本,并且能够告诉何时没有传递任何变量.我的理解是,以下内容应该确定参数是否为null:
if (!$args[0]) { Write-Host "Null" }
else { Write-Host "Not null" }
Run Code Online (Sandbox Code Playgroud)
这工作正常,直到我尝试将0作为int传递.如果我使用0作为参数,Powershell会将其视为null.什么是正确的方法来区分参数是空的还是零值?
您可以只测试$args变量或$args.count查看传递给脚本的变量数量.
另一件事$args[0] -eq $null是从不同的 $args[0] -eq 0和!$args[0].
如果像我这样的用户来自 Google 并且想知道如何处理空命令行参数,这里有一个可能的解决方案:
if (!$args) { Write-Host "Null" }
Run Code Online (Sandbox Code Playgroud)
这会检查 $args 数组。如果要检查数组的第一个元素(即第一个命令行参数),请使用OP中的解决方案:
if (!$args[0]) { Write-Host "Null" }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10218 次 |
| 最近记录: |