加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 程序设计 > 正文

如何管理多文件Powershell模块中的脚本之间的依赖关系?

发布时间:2020-05-23 06:01:46 所属栏目:程序设计 来源:互联网
导读:我有一个很长的Power Shell代码,我在一个长期项目的过程中写的;这些脚本执行各种各样的功能,并且大多数功能在某种程度上依赖于项目范围内的其他功能.现在,这项工作由几个文件组成,每个文件包含许多功能.最初,为了使用这些脚本,所有脚本文件都是偶然的点源到环

我有一个很长的Power Shell代码,我在一个长期项目的过程中写的;这些脚本执行各种各样的功能,并且大多数功能在某种程度上依赖于项目范围内的其他功能.现在,这项工作由几个文件组成,每个文件包含许多功能.最初,为了使用这些脚本,所有脚本文件都是偶然的点源到环境中.

但是,我最近了解到Powershell 2.0引入了模块,我想以这种方式将这些脚本一起部署.由于模块的内容全部加载在一起,我想拆分我的文件,以便每个脚本都有自己的文件,以帮助控制源.但是,我现在对脚本之间的联系还不清楚.

我做了一些测试,似乎可以将每个函数的Export-ModuleMember命令移动到各个.ps1文件;这似乎更像是在C#中声明自己的范围,如公共和私有作用域的函数.但是,在执行此操作后,我的.psm1文件只包含此内容:

Get-ChildItem -recurse $psScriptRoot | where { $_.Extension -eq ".ps1" } | foreach { . $_.FullName }

那似乎对吗?所有脚本都是点源的,并且所有脚本在该假设下相互引用.他们应该使用相对于$psScriptRoot的位置来互相引用吗?

有没有办法与这两种方式不同?有人可以提供建议吗?我对这些还不太了解.

我见过类似的技术,其中每个.ps1文件包含一个函数,函数源自WPK模块和PSRemoteRegistry模块中使用的PSM1文件.

这一行是PSRemoteRegistry模块:

Get-ChildItem -Path $PSScriptRoot*.ps1 | Foreach-Object{ . $_.FullName }

我会说我喜欢有一个函数的巨大脚本文件的技术.

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读