我对PowerShell认可动词的理解是正确的吗?

时间:2018-06-02 18:35:52

标签: powershell

我是PowerShell世界的新手,我在VS中发现了一个警告,说我没有使用" Approved Verbs" 。所以我用Google搜索并发现the whole list of approved verbs用于用户定义的命令。

然而,一些非常相似的动词在这个列表中给出了完全不同的含义。所以,我试图总结这些差异;我需要知道的是,我对这些差异的理解是否准确。

GetFind对比Search

Get-*检索精确的内容(即对象资源,值...任何可能的内容来自给定容器的东西,由PowerShell和.NET中的 POCO 表示。这需要相对时间。

Find-* 尝试从给定的容器中检索内容。这需要相对时间。

Search-* 尝试从给定的容器中检索某些内容的引用。这需要相对时间。

Select

Select-* 从其输入中提取或转换以生成一些不同结构的输出。把它想象成Linq's Select clause

根据已提供的参数,Select-Object可以充当Where-Object之类的过滤器,通过Where-Object的级别要低得多。

GetRead对比Receive

Get-*资源(例如文件,对象,环境变量)中检索数据。

Read-*控制台管道中检索数据。 stream的概念并不是很远。

Receive-*以异步方式检索数据(例如,来自网络)。

SetWrite对比Send

Set-* 修改资源的数据(例如文件,对象,环境变量)。

Write-*在控制台或管道上生成显示数据。撰写数据是最终结果

Send-*发送数据异步(例如通过网络)。发送数据只是第一步,此数据将在稍后采取行动,可能是由另一个流程执行。

WriteOut

Write-* 生成某些输出。

Out-* 重定向管道的输出。可以把它想象成Bash的重定向(例如> /dev/null>> /var/log/cake.log)。

NewAdd

New-*组成全新的,可能是空的或处于默认状态。

Add-*将数据附加到现有内容

AddRegister

Add-* 数据附加到

Register-*在容器(例如数据库)中创建记录的记录。

InitializeInstall

Initialize-*执行某些内容的首次配置

Install-*之前之前设置了一些东西。 Install的级别高于Initialize:它可以被视为{ New | Move | Copy } + [ Initialize ]

NewInstall

New-* 构成一个全新的东西,可能处于默认状态

Install-* 将现有内容放在正确的位置。它也可能配置Install的级别高于New:它可以被视为{ New | Move | Copy } + [ Initialize ]

0 个答案:

没有答案