第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

“寫主機”,“寫輸出”或“ [控制臺] :: WriteLine”之間有什么區(qū)別?

“寫主機”,“寫輸出”或“ [控制臺] :: WriteLine”之間有什么區(qū)別?

繁華開滿天機 2019-11-11 13:02:01
有多種不同的輸出消息的方式。是通過什么東西輸出之間的有效差異Write-Host,Write-Output或[console]::WriteLine?我還注意到,如果我使用:write-host "count=" + $count將+被包括在輸出。為什么?在寫出表達(dá)式之前,不應(yīng)該對表達(dá)式求值以生成單個串聯(lián)的字符串嗎?
查看完整描述

3 回答

?
白衣非少年

TA貢獻(xiàn)1155條經(jīng)驗 獲得超0個贊

Write-Output當(dāng)您想在管道上發(fā)送數(shù)據(jù),但不一定要在屏幕上顯示數(shù)據(jù)時,應(yīng)使用。out-default如果沒有其他人首先使用它,則管道最終會將其寫入。


Write-Host 當(dāng)您想做相反的事情時應(yīng)該使用。


[console]::WriteLine本質(zhì)上Write-Host是幕后工作。


運行此演示代碼并檢查結(jié)果。


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在對的參數(shù)列表進(jìn)行標(biāo)記化之前處理該連接Write-Host,或者使用字符串插值


write-host ("count=" + $count)

# or

write-host "count=$count"

順便說一句-觀看Jeffrey Snover的這段視頻,解釋管道的工作原理?;氐轿议_始學(xué)習(xí)PowerShell時,我發(fā)現(xiàn)這是關(guān)于管道如何工作的最有用的解釋。


查看完整回答
反對 回復(fù) 2019-11-11
?
冉冉說

TA貢獻(xiàn)1877條經(jīng)驗 獲得超1個贊

除了Andy提到的內(nèi)容外,還有另一個可能很重要的區(qū)別-寫主機直接寫到主機,什么也不返回,這意味著您不能將輸出重定向到例如文件。


---- script a.ps1 ----

write-host "hello"

現(xiàn)在在PowerShell中運行:


PS> .\a.ps1 > someFile.txt

hello

PS> type someFile.txt

PS>

如圖所示,您無法將它們重定向到文件中。對于一個不小心的人來說,這也許令人驚訝。


但是,如果改用寫輸出代替,您將獲得預(yù)期的重定向工作。


查看完整回答
反對 回復(fù) 2019-11-11
?
四季花海

TA貢獻(xiàn)1811條經(jīng)驗 獲得超5個贊

這是完成Write-Output等效的另一種方法。只需將您的字符串用引號引起來:


"count=$count"

您可以通過運行以下實驗來確保其與Write-Output相同:


"blah blah" > out.txt


Write-Output "blah blah" > out.txt


Write-Host "blah blah" > out.txt

前兩個將輸出“等等”到out.txt,但第三個不會。


“幫助Write-Output”給出了這種行為的提示:


此cmdlet通常在腳本中使用,以在控制臺上顯示字符串和其他對象。但是,由于默認(rèn)行為是在管道的末尾顯示對象,因此通常不必使用cmdlet。


在這種情況下,字符串本身“ count = $ count”是管道末端的對象,并顯示出來。


查看完整回答
反對 回復(fù) 2019-11-11
  • 3 回答
  • 0 關(guān)注
  • 605 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號