возврат функции powershell - PullRequest
2 голосов
/ 30 июля 2010

Я пытаюсь запустить функцию сценария из другого сценария.Я хочу сохранить возврат в переменную, но это не работает.

script1.ps1:

function test
{
  return "hallo"
}

script2.ps1:

./script1.ps1; $p=test

or
$p = ./script1.ps1; test

Кажетсячто $p равно нулю, но я не знаю, что не так.Кто-нибудь может мне помочь?ТНХ

1 Ответ

4 голосов
/ 30 июля 2010

Попробуйте это:

. ./script1.ps1; $p=test

Почему: вам нужно загрузить функцию в текущую область (это период в начале - оператор точечный источник ).

Если вы используете ';', тогда начинается совершенно новое утверждение. Итак, из вашего примера $p = ./script.ps1; test вы назначаете выход из файла script.ps1 для $p и затем запускаете функцию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...