utiles sintaxis scripts script principales instrucciones ejemplos comandos powershell powershell-v2.0

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 >