我试图尽可能严格遵守Microsoft的Powershell开发指南和最佳做法,但我收到有关导入自定义模块的警告:
WARNING: The names of some imported commands from the module 'F5Helper' include unapproved verbs that might make them less discoverable.
To find the commands with unapproved verbs, run the Import-Module command again with the Verbose parameter. For a list of approved verbs, type Get-Verb.
VERBOSE: The 'Create-iRule' command in the F5Helper' module was imported, but because its name does not include an approved verb, it might be difficult to find.
The suggested alternative verbs are "New".
VERBOSE: Importing function 'Create-iRule'.
我无法在其他任何地方找到信息,但也许有人可以告诉我为什么New这个词应该用在Create这个词上?
就我而言,功能' Create-iRule'就是这样,它创造了一个iRule。
我知道有人必须发布一个回答说明:"但是 正在创建一个' New-iRule '所以这应该是函数的名称!" 对于那些人,我会提醒你 New不是动词,而Create是。
那么为什么New在批准动词列表和Create输出警告?
答案 0 :(得分:2)
我没有明确的来源,所以这是猜测,但New
和Add
是有效的动词,它们首先存在,而且似乎(我认为)可以涵盖任何你可能会遇到的情况使用Create
。
我知道当他们添加新动词时,他们会尽量避免与现有动词重叠。
来自Soliciting New Verbs的Windows PowerShell Blog帖子:
为了提供一些背景,以下是我们考虑的事情 决定是否添加新动词:
- 与现有的已批准动词很少或没有重叠
- 广泛适用于多种技术 - 必须与域无关
- 在多个上下文中使用相似的含义
- 与相反的配对是好的,但不是必需的
答案 1 :(得分:1)
根据Microsoft:
PowerShell使用术语动词来描述表示某个动作的单词,即使该单词不是英语中的标准动词也是如此。例如,术语New是有效的PowerShell动词名称,因为它不是英语的动词,即使它不是动词,也暗示了一个动作。
答案 2 :(得分:0)
答案可能值得"Microspeak" article from Raymond Chen但新的"动词"可能与短语"新增变量" ...
直接相关答案 3 :(得分:0)
仅使用有限数量的动词就可以使学习变得更加容易。我的create动词没有任何内容:
Get-Command -verb create