Saya mengalami sedikit kebingungan tentang berbagai cara untuk mencetak (gema) ke konsol. Saya telah melihat bahwa ada beberapa cara untuk menulis keluaran ke konsol, seperti:
Write-Host "Hello world1"
"Hello World2"
Out-Host -InputObject "Hello World3"
Ketiga cara akan mencetak ke konsol. Yang tengah entah bagaimana lebih sederhana dan kurang bertele-tele dan lebih mudah digunakan. Saya juga menemukan bahwa ketika Anda menulis fungsi seperti:
function GetValues()
{
"1"
"2"
}
Masih mengembalikan dua string dalam pipa:
Dan saya masih bisa mencetak nilai-nilai:
foreach ($s in GetValues)
{
Write-Host "s: " $s
}
Hal yang saya temukan adalah bahwa hanya menggunakan string yang dikutip tidak selalu muncul pada host kustom, dan bahwa saya harus menggunakan Write-Host untuk mendapatkan nilai untuk mencetak pada host kustom.
Entah bagaimana saya menemukan ini membingungkan. Apakah "Print something"
seharusnya alias Write-Host
atau apa maksudnya?
sumber
Yang tengah menulis ke saluran pipa.
Write-Host
danOut-Host
menulis ke konsol. 'echo' adalah aliasWrite-Output
yang juga menulis ke saluran pipa. Cara terbaik untuk menulis ke konsol adalah menggunakanWrite-Host
cmdlet.Ketika sebuah objek ditulis ke pipeline, ia dapat dikonsumsi oleh perintah lain dalam rantai. Sebagai contoh:
tetapi ini tidak akan berfungsi sejak
Write-Host
menulis ke konsol, bukan ke saluran pipa (Do-Something tidak akan mendapatkan string):sumber