0

你能告诉我为什么下面的代码没有导出任何函数:

# load all functions
$moduleRoot = Split-Path -Path $MyInvocation.MyCommand.Path
$functionFiles = "$moduleRoot\functions\*.ps1" | Resolve-Path
$functionFiles | ForEach-Object { . $_.ProviderPath }
$functionFiles | ForEach-Object { [io.path]::GetFileNameWithoutExtension($_) } | Export-ModuleMember

或者这之间的区别:

不工作:

$test = "Cmd1", "Cmd2"
Export-ModuleMember $test

在职的:

Export-ModuleMember "Cmd1", "Cmd2"

更新:

调用“import-module MyCrazyModule”时,可以看到导出的命令(get-module)。

但是,当调用“get-module -ListAvailable”时,导出的命令属性为空。(模块在 PSModulePath 中)

更新 2:证据

$PSModulePath 包含 D:\powershell

模块:“D:\powershell\MyCrazyModule\MyCrazyModule.psm1”

$test = "Cmd1", "Cmd2"
Export-ModuleMember $test

没有可见的出口:

在此处输入图像描述

然而随着内容

Export-ModuleMember "Cmd1", "Cmd2"

在此处输入图像描述

谢谢

4

0 回答 0