Дочерний скрипт PowerShell изменяет родительскую среду

У меня есть сценарии PS, которые изменяют текущий рабочий каталог:

Set-Location (Join-Path (Split-Path -Parent (Split-Path -Parent $MyInvocation.MyCommand.Definition)) -ChildPath src)

К сожалению, это влияет на среду родительского процесса. Итак, когда я вызываю этот скрипт из терминала, текущий каталог будет изменен после вызова скрипта. В среде Unix сценарий может изменять только локальный текущий каталог, а также переменные среды для сценария, а не для родительской оболочки.

Как можно изменить это поведение?


person syscreat    schedule 17.05.2013    source источник
comment
Одним из вариантов может быть использование Push-Location вместо Set-Location. Затем просто вызовите Pop-Location в конце скрипта.   -  person EBGreen    schedule 17.05.2013