- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
根据get-help about_Functions_CmdletBindingAttribute
The CmdletBinding attribute is an attribute of functions that makes them operate like compiled cmdlets
我们可以在脚本顶部使用它。在这种情况下,它的作用是什么? PowerShell 引擎为其所有输入调用的内部隐式“main”函数?
关于此语法:
[CmdletBinding(ConfirmImpact=<String>,
DefaultParameterSetName=<String>,
HelpURI=<URI>,
SupportsPaging=<Boolean>,
SupportsShouldProcess=<Boolean>,
PositionalBinding=<Boolean>)]
我们在做什么?实例化 cmdlbinding 对象并将参数列表传递给其构造函数?此语法可以在 param()
中找到 - 例如:[Parameter(ValueFromPipeline=$true)]
。这个语法有特定的名称吗?可以在其他地方找到吗?
最后,我们是否能够作为简单的 PowerShellers 来模仿此功能并通过设置属性来修改脚本的行为?
最佳答案
一般来说,CmdletBinding 使函数成为高级函数。将它放在脚本的顶部使该脚本成为“高级”脚本。函数和脚本非常相似,其中脚本文件名相当于函数名称,脚本内容相当于函数的脚本 block 部分。
CmdletBinding 属性使您可以控制函数功能,例如添加Confirm 和WhatIf 支持(通过SupportsShouldProcess)、禁用参数位置绑定(bind)等。
关于powershell - 什么是 [cmdletbinding()] 以及它如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14671051/
该参数似乎根本没有被“设置”为参数。验证集不起作用。自动完成也不行。键入参数名称也不起作用。 我知道我以前做过动态参数。但这一次,我错过了一些东西。只是不知道它是什么。 Function Add-Co
根据get-help about_Functions_CmdletBindingAttribute The CmdletBinding attribute is an attribute of fun
我正在编写一个脚本,我想使用 PowerShell 的 CmdletBinding() 。有没有办法在脚本中定义函数?当我尝试时,PowerShell 提示“表达式或语句中出现意外的 token 'f
考虑 PowerShell 代码示例 here : 它在 .ps1 scipt 文件之上有 [CmdletBinding()]。 请注意 [CmdletBinding()] 在文件之上,而不是函数之上
(Powershell 5) 我有以下合并功能: (更新:删除了 process block 中的“优化”continue 调用。) function Find-Defined { begin
我是一名优秀的程序员,十分优秀!