SORU
6 Ocak 2012, Cuma


Hangisini kullanmalıyım: &;-Ana Yazma", " quot;-Çıkış Yazma" veya "[konsolu]::WriteLine"?

PowerShell ile kulpları almak için çalışıyorum. Çalışmak için mücadele ediyorum basit bir şey çıktı iletiler için farklı bir kaç yolu var. Hangi ve ne kadar fark olduğunu ve bunu geleneksel bir yolu kullanmalıyım?

Ben de eğer kullanırsam dikkat edin:

write-host "count="   $count

çıktıda yer alır. Neden? İfade yazılı çıkmadan önce tek birleştirilmiş bir dize üretmek için değerlendirilecek gerekmez mi?

CEVAP
6 Ocak 2012, Cuma


Write-Output veri boru hattı göndermek için kullanılır, ama mutlaka ekranda görüntülemek istiyorum. Boru hattı zamanla başka bir şey olsaydı bunu ilk kullanıyorsa out-default yazacak. Write-Host tersini yapmak istediğinizde kullanılmalıdır. [console]::WriteLine aslında Write-Host perde arkasında neler yapıyor.

Bu örnek kodu çalıştırın ve sonucu inceleyin.

function Test-Output {
    Write-Output "Hello World"
}

function Test-Output2 {
    Write-Host "Hello World" -foreground Green
}

function Receive-Output {
    process { Write-Host $_ -foreground Yellow }
}

#Output piped to another function, not displayed in first.
Test-Output | Receive-Output

#Output not piped to 2nd function, only displayed in first.
Test-Output2 | Receive-Output 

#Pipeline sends to Out-Default at the end.
Test-Output 

PowerShell Write-Host parametre listesi tokenizing önce birleştirme işlemleri böylece parantez içinde birleştirme işlemi alın.

write-host ("count="   $count)

BTW - Jeffrey Snover video Bu boru hattının nasıl çalıştığını anlatan İzleyebilirsiniz. PowerShell öğrenmeye başladığımdan beri bu boru hattının nasıl çalıştığını en yararlı bir açıklama buldum.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Chip Johnson

    Chip Johnson

    30 AĞUSTOS 2007
  • AutoStream's Garage419

    AutoStream's

    15 EKİM 2007
  • TheTwistedFrequency

    TheTwistedFr

    26 NİSAN 2010