Powershell是一种非常强大的脚本语言。它提供 许多现代有用的编程语言特性。它还有一些基本特性,比如条件语句,比如 If
. 在本教程中,我们将研究If的语法和用例。
If用于检查是否满足指定的条件,如果满足该条件,则执行某些操作,如果不满足,则检查其他条件或退出。我们将在下面查看不同的使用类型。
语法
的泛型语法 if
声明如下。除了第一个 if
每行可选。可能不止一个 elseif
线
If (condition) {Block Command}elseIf (condition) {Block Command}...else {Block Command}
单一条件
我们将从If的最简单用法类型开始。我们只检查一个条件。根据条件状态,即逻辑值 true
或 false
指定的脚本是否将运行。现在我们来举个例子。
在本例中,我们将检查 $a
大于5。如果$a大于5,那么我们将打印一条消息,说明$a值大于5。
$a=10if ($a -gt 5){Write-Host("$a is bigger then 5")}
现在让我们来研究一下这个代码的含义。
-
$a=10
创建一个数字变量并将值赋值为10 -
if ()
检查方括号之间的语句,条件是否为真方括号之间的代码{ Write-Host ("$a is bigger then 5")}
如果没有,什么都不会被执行 -
$a -gt 5
是最重要的部分-gt的意思是大于,所以如果我们试图阅读这个语句变量a是大于。此语句将用作if的条件。在这个例子中,$a是10,这个语句是真的。
多种情况
上一个例子我们检查了单个条件。但现实世界是由复杂的问题组成的,在决策过程中需要用到复杂的多个条件。 If
可用于通过在中定义多个条件来提供多个条件 else
线。
在本例中,我们将检查变量 $a
是否大于10。
$a=5if ($a -gt 10){Write-Host("$a is bigger then 10")}elseif ($a -le 10){Write-Host("$a is lower then 10")}
- if语句将从first开始执行
if
但变量数据为5且不大于10。因此将跳过此行。 - 这个
if
将继续elseif
我们看到($a -le 10)
条件将返回true。 - 因为
elseif
条件为真的代码块elseif
将被执行。
我们可以添加更多 elseif
一个以上的条件,所有条件的语法相同,但条件不同。这里是另一个例子,它有多个 elseif
$a=5if ($a -gt 10){Write-Host("$a is bigger then 10")}elseif ($a -le 10){Write-Host("$a is lower or equal to 10 and bigger than 0")}elseif ($a -lt 0){Write-Host("$a is lower then 0")}
其他
到目前为止,我们已经通过使用 if
或 elseif
声明。什么是我们不定义条件,但如果前面的条件不匹配,我们要执行一个代码块?我们称之为 else
声明。 Else
作为整体的最后陈述 if
阻止。如果前面的条件都不满足 else
执行代码块。
在本例中,如果 $a
不是正整数,我们将向控制台打印警告消息。
$a=-4if ($a -gt 10){Write-Host("$a is bigger then 10")}elseif ($a -ge 0){Write-Host("$a is lower or equal to 10 and bigger than 0")}else{Write-Host("$a is not positive integer")}