您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關PowerShell命令輸出的控制方法是什么,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
腳本和命令的輸出一直繁瑣且不一致,甚至在同一個工具里也是一樣。用戶對于這些天我們一直使用的awk,sed 或grep一類的工具,并不是十分了解,圍繞著輸出的變化, 提供最想得到的數據。一個Windows PowerShell主要租戶是為了擁有用戶期望的輸出類型,同時避免解析文本的需要。那么PowerShell是如何處理的呢?答案是肯定的,正如我在先前文章當中所解釋的那樣,是什么使Windows PowerShell如此的特別?
在我們了解PowerShell提供用來寫數據的cmdlets之前,理解PowerShell是如何處理輸出的很重要。大多數Shell有一個數據流的概念,最常見的是stdout和stderr。PowerShell有一個類似的概念,我們稱它為管道。
在PowerShell里,對于數據來說有三個基本的通道:
Output -- 這就是通常所謂的管道。在那里數據將在命令間傳遞。
Host – 這個被直接寫給控制臺.
Error --這個被直接寫給控制臺,但是也會儲存在$error變量中。
PowerShell對于寫數據有許多cmdlets,主要有兩個:
Write-Host – 這是一個簡單的cmdlet。它通過管道直接寫數據并傳給控制臺。如果你不想提供多余管道的信息給用戶,那么它是非常有用的。
Write-Output –它用來把指定數據直接寫入管道。我說的‘指定’,是因為如果你不指定任何值的話,那么將會把默認值寫入管道。
其它的方式寫cmdlets:
Write-Debug -- 如果$DebugPreference被設為‘continue’,則將調試語句寫入到控制臺。
Write-Error – 直接寫Error流。
Write-EventLog – 寫事件日志。
Write-Progress – 這里你可以為用戶寫一個進度欄輸出到屏幕。這通常用在很長的錯誤命令中,以跟蹤其處理過程。
Write-Verbose – 如果$VerbosePreference 被設為“continue”,則寫入主機。
Write-Warning – 使用一個“警告”標簽來寫入主機
正如你所了解的,給用戶提供反饋的方式有很多種。成功的關鍵就是正確的使用你的工具。例如,你打算通過使用write-host,而不是使用write-output來給用戶顯示消息。為什么呢?因為你不想在用戶弄壞你帶有標記的輸出數據,因此按照用戶所期望的目標、且保持數據的完整性是十分重要的。使用沒有多余信息的管道,用戶能夠訪問與預期屬性一致的數據,而不需要再解析數據。
看完上述內容,你們對PowerShell命令輸出的控制方法是什么有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。