如何在 PowerShell 中检查变量是否为空?
最近,我正在处理一些变量,并想在使用变量之前检查变量是否为空或包含值。这可以使用不同的方法来实现。在本教程中,我将通过一些示例向您展示如何检查 PowerShell 中的变量是否为空。
要使用 -eq 运算符在 PowerShell 中检查变量是否为空,您可以将该变量与 $null 进行比较。例如,如果您有一个变量 $variable,则可以使用以下代码: if ($variable -eq $null) { Write-Output "变量为 null 或为空。" } else { 写入输出“变量不为 null 或为空。” }。
注意:我使用 Visual Studio Code 执行以下所有 PowerShell 脚本,但您可以使用任何编辑器。
在 PowerShell 中检查变量是否为空
现在,让我通过一些实际示例向您展示在 PowerShell 中检查变量是否为空的不同方法。
方法 1:使用 $null 比较
在 PowerShell 中检查变量是否为空的最简单方法之一是将其与 $null 进行比较。 PowerShell 将未初始化的变量视为 $null。这是一个例子:
$username = $null
if ($username -eq $null) {
Write-Host "The username variable is empty."
} else {
Write-Host "The username variable contains a value: $username"
}
在此示例中,我们使用 $null 初始化 $username 变量。然后,我们使用 if 语句将该变量与 $null 进行比较。如果变量确实是 $null,则意味着它为空,并且我们会显示一条消息来指示这一点。否则,我们会显示一条消息,指出该变量包含一个值。
您可以在下面的屏幕截图中看到输出:
这是另一个示例,您可以使用 -ne 运算符检查变量是否为空。
-ne(不等于)运算符也可用于检查变量是否不为空。当您想要捕获边缘情况时,通常会首选这种方法。
$variable = "Hello, World!"
if ($variable -ne $null) {
Write-Output "The variable is not null."
} else {
Write-Output "The variable is null."
}在 PowerShell 中查看输出变量
方法 2:使用 [string]::IsNullOrEmpty() 方法
PowerShell 提供了一个名为 [string]::IsNullOrEmpty() 的内置方法,允许您检查字符串变量是否为空或 $null。这是一个例子:
$address = ""
if ([string]::IsNullOrEmpty($address)) {
Write-Host "Please provide a valid address."
} else {
Write-Host "The address is: $address"
}在此示例中,我们使用空字符串初始化 $address 变量。然后,我们使用 [string]::IsNullOrEmpty() 方法检查变量是否为空或 $null。如果是,我们会显示一条消息,提示用户提供有效地址。否则,我们将显示地址。
这是您可以在下面的屏幕截图中看到的确切输出:
方法3:真/假评估
在 PowerShell 中,变量在某些上下文(例如条件语句)中被评估为真值或假值。空字符串或 $null 被视为假,而非空字符串或任何非空值被视为真。这是一个例子:
$phoneNumber = ""
if ($phoneNumber) {
Write-Host "The phone number is: $phoneNumber"
} else {
Write-Host "Please provide a valid phone number."
}在此示例中,我们使用空字符串初始化 $phoneNumber 变量。在if语句中,我们直接使用变量本身作为条件。如果变量为真(非空且非空),则将执行第一个块,并显示电话号码。如果变量为假(空或 $null),则将执行第二个块,提示用户提供有效的电话号码。
您可以在下面的屏幕截图中看到确切的输出:
查看 PowerShell:将每个单词的第一个字母大写
方法 4:使用 -not 运算符
-not 运算符是在 PowerShell 中检查变量是否为空的另一种方法。此方法对于可读性和简单性很有用。
$variable = $null
if (-not $variable) {
Write-Output "The variable is empty or null."
} else {
Write-Output "The variable is not empty or null."
}方法 5:直接使用 if 语句
在 PowerShell 中,您可以直接使用 if 语句来检查字符串是否为空或 null。如果变量为 null 或空字符串,则此方法的计算结果为 false。
$variable = ""
if ($variable) {
Write-Output "The variable is not empty."
} else {
Write-Output "The variable is empty."
}您可以在下面的屏幕截图中看到以下输出:
结论
在本教程中,我解释了三种不同的方法来检查 PowerShell 中的变量是否为空。我建议使用 $null 比较方法来检查 PowerShell 变量是否为空。



