sintaxis - scripts powershell utiles
Cargar variables de otra secuencia de comandos de powershell (3)
Las variables declaradas en Variables.ps1 están en "Scope Scope". Es decir, no puede verlos fuera del alcance del script que los declara. Una forma de llevar las variables en Variables.ps1 al alcance de main.ps1 es a "fuente de punto" Variables.ps1. Esto, en efecto, ejecuta Variables.ps1 en el alcance de main.ps1. Para hacer esto, solo pega un punto y espacio antes de invocar el script:
. ./Variables.ps1
$var1
$var2
Tengo varios scripts que podrían reutilizar variables, por lo que me gustaría aislar las variables en su propio script Variables.ps1, es decir,
$var1 = "1"
$var2 = "2"
Estoy tratando de cargar estas variables y luego imprimirlas en el script Main.ps1 de la siguiente manera:
./Variables.ps1
$var1
$var2
Esto funciona si primero ejecuto. / Variables.ps1 pero no si solo ejecuto Main.ps1. Mi entorno es PowerShell ISE. ¿Qué estoy haciendo mal?
Solo para garantizar la corrección ... intente esto ... en main.ps1
echo "Test"
. ./Variables.ps1
echo $var1
echo $var2
# var.ps1
$Global:var1 = "1"
$Global:var2 = "2"
Esto funciona. Si es mejor o peor que "dot sourcing", probablemente depende de sus requisitos específicos.
PS > ./var.ps1
PS > $var1
1
PS > $var2
2
PS >