在Powershell 2.0中使用模块范围的变量

时间:2011-02-21 16:15:04

标签: variables powershell module powershell-v2.0

我已经编写了一个模块,通过Powershell与IBM的ClearCase一起工作。起初它只包含一些常用功能,但现在我正在扩展它。大多数命令必须使用ClearTool对象($ct = new-object ClearCase.ClearTool),但我不必在每个函数调用中重新创建该对象,因为它有点开销。

我还在许多这些函数中创建了一个ClearCase视图,但我可以简单地检查视图是否存在并决定不重新创建它。

我的问题是,最好的模式是什么?我可以有一个“创建ct对象”函数,并把责任放在调用代码上来维护它,但我不认为我喜欢这种方法。是否可以为ClearTool对象创建一个模块范围的变量,并在每次尝试重新创建它之前检查它是否已填充?

谢谢!

1 个答案:

答案 0 :(得分:0)

最后,我创建了几个模块范围的变量。如果有必要,我可以隐藏它们,虽然我还没有明确地这样做。我有一个函数来创建一个必须在进行任何实际工作之前调用的视图,其中包含创建ClearTool对象的代码。我还有代码用正确的ClearTool对象设置模块范围的变量,以便在其他函数和视图名称中使用。

如果尚未设置ClearTool对象($ ct),则在每个函数的代码中,它们都会返回错误条件。