当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] PowerShell:了解圆括号、大括号和方括号

作者:精品下载站 日期:2024-12-14 07:32:05 浏览:15 分类:玩电脑

PowerShell:了解圆括号、大括号和方括号


这篇博文的目的是为脚本编写者和 PowerShell 爱好者揭开 PowerShell 括号用法的神秘面纱。您可以在脚本、PowerShell 帮助和简单的单行语句中随处找到大括号。共有三种类型。让我们深入了解一下。

() {} []

我们区分三种类型的括号:

  • 括号 ()
  • 大括号 {}
  • 方括号 []

毫无疑问,括号是 PowerShell 中最常用的括号类型。这就是为什么我们首先讨论括号。

括号 ()

正如已经提到的,() 是 PowerShell 中最常见的括号类型。您几乎会在任何地方找到它,例如在 PowerShell 帮助示例中,这是了解有关 PowerShell 语法的更多信息的重要来源。

[玩转系统] PowerShell:了解圆括号、大括号和方括号

https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/get-date?view=powershell-6

描述告诉我们该命令用括号括起来,以便当 DayofYear 属性发挥作用时结果已经存在......

长话短说,我们可以说:

用括号括起来的对象(命令、变量等)会立即执行。

为了更好地理解,我准备了一些例子。

括号 - 示例 1

看看下面的一行字。请注意,只有当两个语句的结果都已存在时才能进行数学计算(减法)


(Get-Date) - (Get-Date -Day 23 -Month 03 -Year 1976)

[玩转系统] PowerShell:了解圆括号、大括号和方括号

括号 - 示例 2

当 Restart-Computer 发挥作用时,用括号括起来的 Get-Content 检索到的计算机名必须已经存在。

[玩转系统] PowerShell:了解圆括号、大括号和方括号

括号 - 示例 3

当脚本必须决定下一步做什么时,第 1 行中 Test-Path 的结果必须已经存在。

[玩转系统] PowerShell:了解圆括号、大括号和方括号

这让我想到了下一种类型的括号:大括号。

大括号 {}

与括号不同,大括号中的对象不会立即执行。它们广泛用于脚本块中。正如您在下面所看到的,使用大括号中的命令进行一些数学计算并不是一个好主意。

[玩转系统] PowerShell:了解圆括号、大括号和方括号

用大括号括起来的对象(命令、变量……)广泛用于脚本块中。当轮到他们时,他们就会被处决。

大括号 - 示例 1

让我们再次拿起之前的例子,看看() 和 {} 之间的区别。

[玩转系统] PowerShell:了解圆括号、大括号和方括号

第 1 行中的测试路径立即执行。第 5 行到第 8 行的脚本块满足条件时执行,这意味着另一方面,当条件不满足时它们不会执行。

大括号 - 示例 2

此示例中的命令在远程计算机 AzMember01 上创建计划作业。注意牙套。


Invoke-Command -ComputerName AzMember01 {Register-ScheduledJob -Name RestartAzMember01 -ScriptBlock {Restart-Computer -Force} -Trigger (New-JobTrigger -Once -At 05:15pm)}

[玩转系统] PowerShell:了解圆括号、大括号和方括号

有几个命令用大括号括起来。该语句不会立即执行,因为一开始做任何事情都是没有意义的。 PowerShell 引擎必须首先检查整个命令,然后才能有意义地决定应该做什么。

这让我想到了最后一部分。

方括号 []

方括号检索数组或哈希表中的元素并用作可选参数。

方括号 - 示例 1

例如,假设我们有一个数组。


$array=[array]('Peter','Margit','Patrick')

要检索数组元素,请使用方括号。

[玩转系统] PowerShell:了解圆括号、大括号和方括号

方括号 - 示例 2

要仅获取以字母 r 或 s 开头的服务,您需要将 r 和 s 放在方括号中。


Get-Service [rs]* | Select-Object Name,Status

[玩转系统] PowerShell:了解圆括号、大括号和方括号

最后但并非最不重要的一个示例,查询并显示名称以 s 或 r 结尾的所有服务。


Get-Service *[sr] | Select-Object Status,Name

[玩转系统] PowerShell:了解圆括号、大括号和方括号

方括号 - 示例 3

哈希表类似于数组,但它使用键值对。


$hash=@{Kevin = '1'; Alex= '9'; Margit= '12'}

[玩转系统] PowerShell:了解圆括号、大括号和方括号

现在我们使用方括号访问键“Kevin”并获取值 1。


$hash['Kevin']

[玩转系统] PowerShell:了解圆括号、大括号和方括号

我希望本文有助于更好地理解 PowerShell 中有关括号的主题。涵盖了所有三种支架类型。我还希望这些示例有用并且您可以在它们的基础上进行构建。

下次使用 PowerShell 再见!

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯