自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

PowerShell入門(七):管道——在命令行上編程

系統(tǒng) Windows
管道對于Shell來說是個化腐朽為神奇的東西,它極大地提高了在命令行上編程的能力。深入理解并熟練使用管道是PowerShell高手之路的必經(jīng)階段。PowerShell中的管道如何工作的?

  管道對于Shell來說是個化腐朽為神奇的東西,它極大地提高了在命令行上編程的能力。深入理解并熟練使用管道是PowerShell高手之路的必經(jīng)階段。沒有管道,我們就不得不通過許多的變量來保存中間結果,雖然這是腳本和其他編譯型語言的慣用伎倆,但對于戰(zhàn)斗在命令行上的Shell而言,就是一件非常痛苦的事情。

  管道模型

  顧名思義,管道就是用管子將事物連接起來構成通道。從表面上看,管道是一串由管道符號(|)連接起來的一些命令。從功能來看,管道就像流水線,將上一個處理的結果,傳送給下一個處理作為輸入。由管道連接起來的命令從左到右依次執(zhí)行,***將結果輸出到控制臺。以前的管道流傳送的都是字符串,或者是可以格式化為字符串的表達式,PowerShell的管道流則可以傳輸對象。

  PowerShell中的管道如何工作?

  PowerShell的管道,能夠傳遞對象,這是一個巨大的進步。到這個時候,管道才有了點函數(shù)調用的味道。調用方能夠傳遞復雜的對象,接收方則要進行對象的類型匹配,匹配不正確命令執(zhí)行就會出錯。但這里也有例外。PowerShell管道不但可以按整個對象傳遞,還能夠按照屬性名傳遞,這一特性大大提高了管道的可用性,和處理能力。這使得我們能夠在類型不匹配的情況下,也能夠使用管道,傳遞對象的部分屬性。

管道使用舉例

  在PowerShell中有一些專門為管道設計的命令如get-member、sort、measure等,也有一些命令雖然不是為管道專門設計,但卻在管道中大放光彩。下面舉例說明幾個最常用的命令:

  select

  在管道中使用select命令,就像在Cmd中使用dir一樣常見。不用看select命令的詳細語法,你就能寫出最常用的select使用方法。如下:

dir | select name,LastWriteTime

  這個命令顯示當前文件夾中的文件和子文件夾的名字和***修改日期。

 

  where

  where命令使用來做篩選的,可以簡寫為?,使用示例如下:

 

dir | ? {$_.mode –like “d*”} | select name,LastWriteTime

 

  這個命令能夠只顯示出當前文件夾的子文件夾,而不顯示文件。

  foreach

  foreach可以對傳遞過來的每個對象進行處理,可以簡寫為‘%’。使用示例如下:

dir | ? {$_.mode -notlike "d*"} | % {echo "The size of file '$($_.name)' is $_.Length"}

 

  這個命令的結果是輸出類似“The size of file 'myScript.ps1' is 1520”這樣的信息,每個文件一行。

  結語

  管道的好處很多,在這小小的篇幅中是說不完的。上道以后,慢慢體會,你會知道管道的妙處。

責任編輯:黃丹 來源: 博客園
相關推薦

2013-02-18 08:34:45

powershell

2021-07-15 13:25:43

LinuxPDF

2023-05-12 07:08:09

PowerShellWindows操作系統(tǒng)

2022-12-12 09:12:30

2010-05-21 18:30:02

2013-09-10 10:34:49

PowerShell

2023-03-08 15:38:56

Linux命令dict

2022-03-14 09:26:32

LinuxUbuntu

2023-03-28 08:40:22

命令行JSON用法

2019-12-09 09:23:04

Linux命令sort

2021-07-15 13:32:12

Linux生成密碼

2023-08-12 11:40:11

命令行生存

2018-04-25 10:46:05

Linux命令行日歷

2020-12-10 16:16:08

工具代碼開發(fā)

2020-12-11 06:44:16

命令行工具開發(fā)

2021-11-08 12:17:09

LinuxLinux命令編輯照片

2013-02-21 17:54:12

PowerShell入PowerShell命

2021-07-12 14:53:27

LinuxGmail電子郵件

2009-02-17 23:21:12

autojump命令行下快速更改目錄

2019-05-21 10:38:17

Linux命令行
點贊
收藏

51CTO技術棧公眾號