El mensaje de error de Powershell en la consola está siendo sangrado incorrectamente.
Lo que estoy intentando hacer es ejecutar el proceso wsl, obtener sus canales de salida estándar y de error para imprimir en la consola como si se estuvieran ejecutando normalmente, lanzar un error en Powershell si hay un error en stderr y que la salida sea idéntica a la original.
Pero estoy obteniendo este error de indentación:
cuando se ejecuta wsl.exe echo a 1`>`&2`;echo b 2>&1
dos veces
La consola de Powershell está sobredentada más de lo que debería.
a veces incluso se vuelve tan malo que la salida de Write-Host se dentada a pesar de no haber ninguna indentación.
wsl.exe echo a 1`>`&2`;echo b 2>&1
cmd.exe /c echo a 1`>`&2`&echo b 2>&1
A veces esto también ocurre después de ejecutar muchas veces el comando wsl anterior
además, cuando se queda atascado de esa manera, afecta a otras llamadas de Write-Error:
$PSVersionTable
Nombre |Valor
—-|—–
PSVersion|5.1.22000.282
PSEdition|Desktop
PSCompatibleVersions|{1.0, 2.0, 3.0, 4.0…}
BuildVersion|10.0.22000.282
CLRVersion|4.0.30319.42000
WSManStackVersion|3.0
PSRemotingProtocolVersion|2.3
SerializationVersion|1.1.0.1
Editar:
davy.ai
El experto en TI está intentando ejecutar el proceso wsl e imprimir sus canales stdout y stderr en la consola como si se ejecutaran normalmente. También quiere lanzar un error en PowerShell si hay stderr y que la salida impresa sea 1:1 como la original. Sin embargo, está experimentando un error de sangría al ejecutar el comando
wsl.exe echo a 1`>`&2`;echo b 2>&1
dos veces. La salida de la consola está siendo excesivamente indentada y a veces llega incluso a ser tan malo que la salida de Write-Host se está indentando a pesar de no haber sangría. Está utilizando PowerShell versión 5.1.22000.282. El experto ha incluido capturas de pantalla para ilustrar el problema.