#powershell
#powershell
Вопрос:
У меня есть мой сценарий PowerShell, как показано ниже, в файле myps.ps1
.
Invoke-Expression "terraform apply -auto-approve" -OutVariable COMMAND_OUTPUT 2>amp;1 >$null
С помощью этого скрипта я пытаюсь записать как стандартную ошибку, так и стандартный вывод в переменную $COMMAND_OUTPUT
. Но когда terraform apply
команда выдает ошибку, записывается усеченное сообщение об ошибке, заканчивающееся многоточием ( ...
) $COMMAND_OUTPUT
.
Как я могу захватить весь вывод консоли PowerShell в моей $COMMAND_OUTPUT
переменной без усечения.
Ответ №1:
Invoke-Expression
считается вредным и почти всегда неправильным инструментом для решения любой проблемы, с которой вы сталкиваетесь.
Для записи вывода команды (включая ошибки) в переменной используйте что-то вроде этого:
$COMMAND_OUTPUT = amp; terraform apply -auto-approve 2>amp;1