viernes, 9 de mayo de 2014

Write-Host vs. Write-Output


Estos dos comandos de Windows PowerShell  tienen un comportamiento similar en ocasiones, como en el siguiente ejemplo:

Ejemplo 1.

$a="Hola"
Write-Host $a
o
Write-Output $a

La salida por pantalla será la misma.


Sin embargo, el comportamiento es totalmente diferente, cuando utilizamos una canalización. Observemos el siguiente ejemplo:

Ejemplo 2.
 
$a = Get-Service | Write-Host

Se ve la salida en pantalla, pero no se carga nada en la variable $a

$b = Get-Service | Write-Output

No se ve nada en pantalla, pero la variable $b se carga con los datos de salida del comando Get-Service
 
 
En resumen, el comando Write-Host debemos usarlo para mostrar información en pantalla, mientras que Write-Output lo debemos utilizar para que genere objetos y poder tratarlos mas adelante.

Nota: Echo es un alias de Write-Output

 
Hasta luego.
 

No hay comentarios:

Publicar un comentario