¿Equivalente al comando `source` de bash en Powershell?


15

Para ejecutar un script bash línea por línea (para preservar las variables de entorno, por ejemplo), se hace lo siguiente:

$ . myscript.sh

O:

$ source myscript.sh

Tengo un script de PowerShell que, entre otras cosas, establece el valor de la solicitud a través de la función llamada prompt. Simplemente ejecutar este script (". \ Myscript.ps1") no cambia la solicitud. Sin embargo, ejecuta la función línea por línea como lo hace un comando .

Entonces, lo que realmente necesito es algo como el sourcecomando para PowerShell. ¿Es posible?

EDITAR : ¿Debería esta publicación moverse a Stackoverflow?

Aclaración 1 : dado que ejecuto esta función solo en función de las necesidades (es decir, no para cada sesión de PowerShell y / o siempre), no quiero almacenar en mi perfil de inicio de PowerShell.


Nota: sus dos comandos Bash son diferentes. Probablemente no quiso tener el punto en el segundo o quiso que ambos tuvieran "./" (directorio actual) al comienzo del nombre del script.
Pausado hasta nuevo aviso.

Solucionado (eliminando el punto)
Sridhar Ratnakumar

Respuestas:


29

También puede " fuente de puntos " en PowerShell. Solo necesita asegurarse de especificar la ruta completa. Entonces, si el script que desea cargar está en el directorio local que haría:

PS C:\>. .\myscript.ps1

ESTA es la respuesta correcta :) el abastecimiento de puntos en PowerShell funciona prácticamente igual que en Bash
Jaykul

No tenía idea de que pudieras hacer eso. bonito.
DaveParillo

Whoa! ¿Cómo es que no lo intenté antes? :)
Sridhar Ratnakumar

1
¿Hay alguna forma de que esto se pueda hacer con un script cmd existente? ¿La ejecución de un script cmd da como resultado que se modifique el entorno powershell?
peabody

1
¿Qué sucede si necesita ejecutar un .batarchivo y modificar el entorno?
Chloe
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.