2

通常,这是一个微不足道的问题,可以通过简单搜索大多数编程语言来回答,但在 PowerShell 中,这并不容易。

如果通过点源包含脚本或包含模块,它们的脚本变量被转移到调用脚本中,那么拥有全局变量有什么意义呢?

有人可以为我澄清一下吗?

4

1 回答 1

3

不仅有范围的变量,还有函数定义。

让事物全球化的好处是每个人都可以使用它们。想象一下,您正在导入一个定义了一些功能的模块,但您无法使用它们。

关于模块中的全局变量......我很少使用它们,除非它们可以控制某些行为,比如*PreferencePS 已经拥有的各种变量。

顺便说一句,在点源脚本时,您不一定要使范围全局化。点源只是在当前范围内执行一个脚本,而不是为该脚本创建一个脚本。因此,当在函数中点源某些东西时,您只能在该函数中从脚本中获取东西。

于 2012-05-16T13:36:37.647 回答