gpt4 book ai didi

powershell - 如何实现一个powershell函数库?

转载 作者:行者123 更新时间:2023-12-04 17:53:50 27 4
gpt4 key购买 nike

我最近参与了一个必须使用 powershell 脚本部署的项目。我们在不同的文件中或多或少地编写了 2000 行代码。其中一些专用于常用方法,但是在为每个方法编写了 500 行代码之后,很难找到使用什么方法或者是否有必要实现一个新方法。

所以,我的问题是关于实现 powershell 函数库的最佳方法是什么:

拥有一些包含大量代码的文件比拥有大量包含几行代码的文件更好吗?

最佳答案

@MikeShepard 的答案在概念上是可行的。以下是一些与之相关的实现想法:

  • 我有多种语言的开源库。我的 PowerShell API正如 Mike Shepard 建议的那样,首先将顶层组织成不同的主题。
  • 对于具有多个功能的主题(模块)(例如 SvnSupport),每个公共(public)功能都位于一个单独的文件中,其中包含其私有(private)的支持功能和变量,从而增加了内聚力并减少了耦合。
  • 要将主题(模块)中的函数集合包装在一起,您可以单独枚举它们(通过点源或包括在 list 中,如@Thomas Lee 建议的那样)。但我更喜欢从 Scott Muc 那里学到的技术。使用以下代码作为 .psm1 文件的全部内容,并将每个其他函数放在同一目录中的单独 .ps1 文件中。

  • Resolve-Path $PSScriptRoot\*.ps1 |
    ? { -not ($_.ProviderPath.Contains(".Tests.")) } |
    % { . $_.ProviderPath }

    实际上,关于函数和模块还有很多话要说。有兴趣的读者可以找到我的文章 Further Down the Rabbit Hole: PowerShell Modules and Encapsulation发布在 Simple-Talk.com 上的一个有用的起点。

    关于powershell - 如何实现一个powershell函数库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11556556/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com