Cargar variables de otro script de PowerShell
-
16-09-2019 - |
Pregunta
Tengo varios scripts que podrían ser variables reutilizantes, así que me gustaría aislar variables en sus propias variables. PS1 Script, es decir
$var1 = "1"
$var2 = "2"
Estoy tratando de cargar estas variables y luego imprimirlas en el script principal.ps1 así:
.\Variables.ps1
$var1
$var2
Esto funciona si ejecuto por primera vez. VariAbles.ps1 Pero no si solo ejecuto main.ps1. Mi entorno es PowerShell Ise. ¿Qué estoy haciendo mal?
Solución
Las variables declaradas en Variables.ps1
están en el "alcance del script". Es decir, no puedes verlos fuera del alcance del guión que los declara. Una forma de traer las variables en Variables.ps1
al alcance de main.ps1
Es para "fuente de puntos" Variables.ps1
. Esto, en efecto, funciona Variables.ps1
al alcance de main.ps1
. Para hacer esto, simplemente pegue un período y espacio antes de su invocación del script:
. .\Variables.ps1
$var1
$var2
Otros consejos
# var.ps1
$Global:var1 = "1"
$Global:var2 = "2"
Esto funciona. Ya sea mejor o peor que el "abastecimiento de puntos" probablemente depende de sus requisitos específicos.
PS > .\var.ps1
PS > $var1
1
PS > $var2
2
PS >
Solo para asegurar la corrección ... intente esto ... en main.ps1
echo "Test"
. .\Variables.ps1
echo $var1
echo $var2