Как получить работу эха от "клиентского" сценария PowerShell? - PullRequest
1 голос
/ 01 июня 2011

Я запускаю скрипт PowerShell, который сам вызывает другой скрипт. В первом сценарии, когда я помещаю echo, все в порядке, но я не могу получить никакого эхо во втором ("клиентском") сценарии, чтобы показать что-либо.

Как мне получить эхо?

Я использую PowerShell 2.0 на Windows 7 Pro с PowerGUI. (Я тоже пробовал с ISE, но это не помогает)

Ответы [ 3 ]

2 голосов
/ 01 июня 2011

Вы должны использовать Write-Host, непосредственно вставленный в echo (ведь это псевдоним для Write-Output).

1 голос
/ 01 июня 2011

Вы можете использовать Write-Host для записи на консоль (хост)

Кажется, есть некоторая путаница при использовании Write-Output против Write-Host (echo это псевдоним для записи-вывода - выэто видно из Get-Alias).Write-Output это не просто запись в консоль.Из документов:

Отправляет указанные объекты следующей команде в конвейере.Если команда является последней командой в конвейере, объекты отображаются в консоли.

1 голос
/ 01 июня 2011

Пример вашего сценария поможет дать точный ответ. Тем не менее, я попробовал Write-Output из вложенных сценариев, и, похоже, у меня все работает.

#Script1.ps1
Write-Output "Script 1"
Write-Output "Calling Script 2"
./Script2.ps1

#Script2.ps1
Write-Output "Script 2"
Write-Output "Script 2 End"

А, на выходе:

PS> .\Script-one.ps1
Script 1
Calling Script 2
Script 2
Script 2 End
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...