从 How to Write a PowerShell Module Manifest - PowerShell | Microsoft Docs 中了解到,可以使用VariablesToExport = '*',导出模块中的所有变量,但实际使用之后发现无法导出任何变量。通过写脚本测试确认以及阅读更多的文档,都没有发现具体的原因,我可能忽略了某些重要的东西。
这是怎么回事?
# TestModule.psm1
0..9 | ForEach-Object { "v_$_" | New-Variable -Value $_ }
# TestModule.psd1
@{ModuleVersion = '1.0';VariablesToExport = '*'}
# TestModule.Tests.ps1
0..9 | ForEach-Object { "variable:v_$_" | Test-Path | Should -BeFalse }