Ответ 1
Out-Null
отлично работает с командами non-PowerShell. Однако он не подавляет вывод на STDERR
, только на STDOUT
. Если вы хотите подавить вывод на STDERR
, вы должны перенаправить этот файловый дескриптор на STDOUT
, прежде чем передать вывод в Out-Null
:
hg st 2>&1 | Out-Null
2>
перенаправляет весь вывод из STDERR
(дескриптор файла # 2). &1
объединяет перенаправленный вывод с выходом из STDOUT
(дескриптор файла # 1). Затем объединенный выход печатается на STDOUT
, откуда труба может передать его в STDIN
следующей команды в конвейере (в данном случае Out-Null
). Подробнее см. Get-Help about_Redirection
.