我有幾個腳本,可重複使用的變量,所以我想在自己的Variables.ps1腳本隔離變量,即負載變量
$var1 = "1"
$var2 = "2"
我試圖加載這些變量然後打印出來,在這樣的Main.ps1腳本:
.\Variables.ps1
$var1
$var2
,如果我先運行工作\ Variables.ps1但如果我只是運行Main.ps1。我的環境是PowerShell ISE。我究竟做錯了什麼?
我有幾個腳本,可重複使用的變量,所以我想在自己的Variables.ps1腳本隔離變量,即負載變量
$var1 = "1"
$var2 = "2"
我試圖加載這些變量然後打印出來,在這樣的Main.ps1腳本:
.\Variables.ps1
$var1
$var2
,如果我先運行工作\ Variables.ps1但如果我只是運行Main.ps1。我的環境是PowerShell ISE。我究竟做錯了什麼?
在Variables.ps1聲明的變量是在 「腳本範圍」。那就是你不能在聲明它們的腳本範圍之外看到它們。將Variables.ps1中的變量引入main.ps1範圍的一種方法是「點源」Variables.ps1。實際上,這在main.ps1的作用域中運行Variables.ps1。要做到這一點,只是你的腳本調用之前堅持一段時間和空間:
. .\Variables.ps1
$var1
$var2
只是爲了確保正確性......試試這個...在main.ps1
echo "Test"
. .\Variables.ps1
echo $var1
echo $var2
$Global:var1 = "1"
$Global:var2 = "2"
這工作。 「點源」的好壞取決於您的具體要求。
PS > .\var.ps1
PS > $var1
1
PS > $var2
2
PS >
證實這也適用。 – Greg
謝謝。正是我需要的。 – Greg