上次介绍的两个入门常用命令虽然简单,但可以说是所有使用PowerShell人员中使用频率最高的几个PowerShell命令,所以了解它们是必须的。
今天要讲的“管道”也依然如此,在PowerShell中管道可以说是随处可见,重要性也不言而喻。管道是什么样的呢?它就长这样|
。没错,就是一个竖线。它的作用你可以先简单的理解为就是像管道通道一样用来传递我们的PowerShell对象,很好理解吧。
那管道如何使用呢?在说明怎么使用前,我想举个例子让你来明白为什么需要管道,管道的便捷性重要性。
我当前的系统上打开了一个Windows Notepad记事本程序,为了证明,这里我用Get-Process -Name Notepad
可以查看到如下信息。
这都没什么问题,但是我想关闭这个记事本程序,改怎么做呢?或许你很聪明已经知道了,PowerShell中有一个Stop-Process
命令是用来终止指定的进程的,只需要输入命令行Stop-Process -Name Notepad
就可以了。
可是,你有没有觉得我为了关闭一个记事本居然要动手输入两行命令,那么麻烦吗?还记得今天要说的主角“管道”吗,它就可以帮助我们解决这个问题,它可以把两个独立的命令行连接起来。就像这样子:Get-Process -Name Notepad | Stop-Process
,这行命令达到的效果与之前两个独立的命令行是一模一样的。
让我们来理解下管道在这里发挥的作用,首先|
管道的前半部分我们使用Get-Process -Name Notepad
获得记事本程序的进程信息,然后我们连接上管道符号,也就是说我已经得到了指定进程信息了,我现在通过这个管道传递给你,传递给谁呢?就是管道的后半部分Stop-Process
,这样该命令接收到前面的对象信息后,明白了一件事,原来你是让我把这个进程给终止,那它照着去做就行了。
到这里,你应该大致明白管道怎么使用了,只需要把它当做命令的连接去使用就行。当然,实际上管道的作用和使用上绝不仅仅是这样,当你所写的命令行代码越来越复杂后,每一个管道的使用都需要你去更深入的了解,否则会因为你的使用不当而带来不少后续的调试困扰。目前而言,仅记住最基本的作用和使用就可以了。
如果你特别好奇的话,可以试试键入命令行about_pipelines
查看更详细的管道使用方法。