powershell_模块与脚本/编写函数文档(基于注释的帮助)/别名模块allscope等/设置别名作用域

自动导入模块所在目录

在这里插入图片描述

安装模块

创建基本 PowerShell 模块
创建模块清单
安装 PowerShell 模块

自动导入

关于自动导入,实际体验验上是指,您可以直接在终端中引用(通过模块中的(公开的)函数名称来调用某个函数

这些模块只有在被放置在$env:psModulePath下,同时符合一定的目录层析要求,才可以达到效果

如果你的模块文件组织的合乎规范,那么在调用相应函数后,模块才会显示的被导入(我是指,您可以通过gm(get-module)查询到被导入的模块

自定义添加您的模块目录

采用命令行方式添加

处理系统配置的几个模块自动导入目录,您还可以通过一定的语句实现psModulePath的自定义添加,如此一来,您的模块就不必要放置在那几个默认的目录下了.

当然,为了实现自动添加,您需要将类似于以下代码写入到您的powershell配置文件中,这样在每新建一个session,您配置的路径都将有效.

# add $psPath:
#Save the current value in the $p variable.
$p = [Environment]::GetEnvironmentVariable("PSModulePath")

#Add the new path to the $p variable. Begin with a semi-colon separator.
$p += ";$env:repos\learnpwsh\modulesByCxxu\"

#Add the paths in $p to the PSModulePath value.
[Environment]::SetEnvironmentVariable("PSModulePath",$p)

不同path需要以; 分割

按照microsoft的说法,修改path之后需要做广播处理,如果是通过修改启动配置文件的方式添加,则不需要即时广播psmodulePath的变化

更直接的方法添加psModulePath

在这里插入图片描述
这样,就不需要动态配置了

path添加效果示例

在这里插入图片描述
最后一条时后期添加的
相应的目录结构如下:

在这里插入图片描述
当然,对于复杂的多文件模块,还需要(必须)有清单文件
当然,您的模块不能有逻辑错误或者其他违反规定的内容编排,这将导致模块无法导入,同时您还看不到错误提示!!

模块导入查询

在这里插入图片描述

基于注释的帮助

函数 - PowerShell | Microsoft Docs

最佳做法是将基于注释的帮助添加到函数,以便你与之共享函数的人知道如何使用它们。

更多细节

查看官方文档

别名与作用域

相关命令
export-alias导出别名配置文件
new-alias新建别名(也可强制修改别名)
set-alias修改别名(也可新建别名)
在这里插入图片描述
allscope是通过option选项来指定的(而不是scope选项)
New-Alias testAllScopeAlias -Value desktop -Option AllScope

PS D:\repos\learnPython> New-Alias testAllScopeAlias -Value desktop -Option AllScope 

PS D:\repos\learnPython> testAllScopeAlias

将上述函数的调用(或者说函数名)写入到启动配置文件中,就可以自动导入别名,同时可以避免配置文件中包含过多内容。

猜你喜欢

转载自blog.csdn.net/xuchaoxin1375/article/details/121436470