Gre*_*reg 51 powershell powershell-2.0
我有几个脚本可以重用变量,所以我想在他们自己的Variables.ps1脚本中隔离变量,即
$var1 = "1"
$var2 = "2"
Run Code Online (Sandbox Code Playgroud)
我正在尝试加载这些变量,然后在Main.ps1脚本中将它们打印出来,如下所示:
.\Variables.ps1
$var1
$var2
Run Code Online (Sandbox Code Playgroud)
如果我第一次运行,这是有效的.\ Variables.ps1但是如果我只运行Main.ps1则不行.我的环境是PowerShell ISE.我究竟做错了什么?
zda*_*dan 87
声明的变量Variables.ps1位于"脚本范围".那就是你不能在声明它们的脚本范围之外看到它们.将变量Variables.ps1引入范围的一种方法main.ps1是" 点源 " Variables.ps1.实际上,这是Variables.ps1在范围内运行的main.ps1.要做到这一点,只需在调用脚本之前粘贴句点和空格:
. .\Variables.ps1
$var1
$var2
Run Code Online (Sandbox Code Playgroud)
dan*_*gph 32
# var.ps1
$Global:var1 = "1"
$Global:var2 = "2"
Run Code Online (Sandbox Code Playgroud)
这有效.是否比"点源"更好或更差可能取决于您的具体要求.
PS > .\var.ps1
PS > $var1
1
PS > $var2
2
PS >
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
36601 次 |
| 最近记录: |