Предположим, у меня есть script1.ps1
, который получает ответ REST от Vault, содержащий набор ключей / значений для Dev, Test, and Prod
сред.
в script1
, у меня есть параметр для передачи необязательного окружения.
param(
[String]$environment
)
если в командной строке в качестве аргумента не передается среда, по умолчанию устанавливается значение dev
убедившись, что script1 извлекает значения, я проверил следующее (из моего сервера / среды разработки)
PS> script1.ps1
который вернул мне ключи / значения dev из хранилища ... хорошо
PS> script1.ps1 test
который вернул мне ключи / значения TEST из хранилища ... хорошо, так что скрипт работает просто отлично
Теперь рассмотрим script2.ps1
, в котором я вызываю script1.ps1
, чтобы изменить некоторые соединения в среде Dev.
это script2
:
$response = & ".\script1.ps1" | ConvertFrom-Json
$response[1]
и запущенный скрипт2 ...
PS> script2.ps1
, который вернул мне ключи / значения dev из хранилища, потому что помните, что script1 по умолчанию устанавливает $environment
в dev, если в противном случае не передается аргумент ... хорошо
Однако, когда я попробую это сейчас:
$response = & ".\script1.ps1 test" | ConvertFrom-Json
$response[1]
Я ничего не возвращаю!
почему это ??
Что-то не так с этим? & ".\script1.ps1 test"