gpt4 book ai didi

powershell - 通过模块访问哈希表

转载 作者:行者123 更新时间:2023-12-03 01:25:24 24 4
gpt4 key购买 nike

我在模块中将其定义为 defblah.ps1

$defblah= @{
first = "aaa";
seconf = "bbb";
}
我在模块中也有这个 Blah.ps1
Function Blah 
{
Write-Host $defblah.first;
}
我做了 Export-ModuleMember然后 Import-Module ,因此具有模块定义(导出,导入)的所有内容都很好。
然后,导入后我运行 Blah ,它打印“aaa”,这是我所期望的。
问题是当我输入
Write-Host $defblah.first;
它什么也不返回。我怎样才能使我的最后一个语句起作用并返回“aaa”?

最佳答案

一般来说,我建议不要从模块中导出变量,即使它在技术上是受支持的。
模块的隐式导出行为确实排除了变量——在 PSv5+ 中,默认情况下只导出函数和别名——这意味着没有 Export-ModuleMember 和/或 module manifest ( *.psd1 ) 控制导出。
一般的期望是模块导出命令(函数/cmdlet,可能还有别名),而不是数据(变量) - 并且仅命令就存在足够的名称冲突可能性。
如果您真的想从模块中导出变量,请使用 Export-ModuleMember调用-Variable参数和/或 - 如果您的模块带有 list 文件 - 通过 VariablesToExport 导出变量 key 。

关于powershell - 通过模块访问哈希表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63713556/

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