6
¿Cómo se diferencia el comportamiento entre & powershell .\other.ps1
y ?Powershell llamando al script de Powershell
Editar: En particular, ¿cómo difieren si hay un error en other.ps1
?
¿Cómo se diferencia el comportamiento entre & powershell .\other.ps1
y ?Powershell llamando al script de Powershell
Editar: En particular, ¿cómo difieren si hay un error en other.ps1
?
se obtiene otro proceso de PowerShell en el primer caso y de la secuencia de comandos no puede leer las variables definidas en la sesión actual:
PS> $foo = 'bar'
PS> 'Write-Host $foo'|Set-Content x.ps1
PS> & powershell .\x.ps1
PS> & .\x.ps1
bar
Gracias. ¿Hay alguna diferencia en el manejo de errores también? –
@ColonelPanic: al igual que las variables, las excepciones no cruzarán los límites del proceso. Cambie el contenido de 'x.ps1' a' throw error', y compare el resultado de 'try {powershell.exe ./x.ps1; "success? $ ?; $ LastExitCode"} catch {"caught $ _; success? $ ?; $ LastExitCode"} 'y' try {./x.ps1; "success? $ ?; $ LastExitCode"} catch {"caught $ _; success? $ ?; $ LastExitCode"} '. –