【21-15】PowerShell 条件判断
本文介绍 PowerShell 脚本的条件判断语法。
if 语句
if else 语句
嵌套 if 语句
switch 语句
if 语句
if
是最常用的条件判断结构,只有符合给定条件时,才会执行指定的命令。它的语法如下。
if
关键字后面是主要的判断条件,如果布尔表达式的计算结果为 true,那么将执行 if
语句中的代码块。如果没有,将执行 if
语句结束后(在结束大括号之后)的第一组代码。
举个例子,我们看一下
执行上边的代码,我们可以得到输出如下:
可以看出,第一个判断是 True,输出了X 小于 20
,第二个判断是 False,没有输出X 小于 5
, 输出了后边的 X 等于 10
。
if else 语句
if 和 else 组合,当判断为真时,执行 if 的语句,判断为假时,执行 else 的语句。语法如下:
接下来我们看一个例子
我们可以看到输出如下:
if … elseif … else 语句
if
语句后面可以跟一个 else if
语句,这对于使用单个 if … elseif 语句测试各种条件非常有用。
使用 if … else … ifelse
语句时,有几点需要注意。
一个
if
可以有零个或一个else
,它必须在if
之后。一个
if
可以有零到多个elseif
,它们必须在 else 之前。一旦
else
成功,其余的elseif
都不会执行。
语法如下:
我吗来看一个例子:
我们可以看到输出如下:
嵌套 if 语句
嵌套的 if … else
语句总是合法的,这意味着你可以在另一个 if
或 elseif
语句中使用一个 if
或 elseif
语句来进行进一步的判断。
嵌套 if … else
的语法如下:
我们来看一个例子
我们执行上边的代码,可以看到如下的输出
switch 语句
switch 语句允许一个变量来针对值的列表平等进行测试。每个值都称为一个 case,并且针对每种情况检查要要判断的变量。这个类似于 Bash Shell 里的 case 语句。
语法如下:
以下规则适用于 switch 语句
switch 语句中使用的变量只能是任何对象或对象数组。
你可以在 switch 中包含任意数量的 case 语句。每个案例后面都有可执行的操作。
案例的值必须与交换机中的变量具有相同的数据类型,并且必须是常量或文字。
当接通的变量等于大小写时,该大小写之后的语句将一直执行,直到达到 break 语句。
当达到 break 语句时,switch 终止,控制流跳转到 switch 语句后面的下一行。
并非每个案例都需要包含 break。如果没有出现 break,控制流会一直执行,直到达到后来的 case 后的 break 或到整个 switch 的结束。
我们来看 3 个例子
第一个是没有 break 的
我们可以看到输出如下:
第二个例子是带 break 语句。
我们可以看到输出如下:
第三个例子是将一个数组作为输入的。
我们可以看到输出如下:
版权声明: 本文为 InfoQ 作者【耳东】的原创文章。
原文链接:【http://xie.infoq.cn/article/78987c26bf2962d5a8682d231】。未经作者许可,禁止转载。
评论