摘要:这一章谈谈ps的管道通信,函数和过滤器。这仨哥们之间有着千丝万缕的联系。当然,跟我比较懒,不想写三篇来介绍也有关。 什么是管道?简单来说,管道就是一种函数的组合,类似于B(A(X)),就是把一个函数的输入作为一个函数的输出,他有一定的局限性,你最多只能..D(C(B(A(X)))),而不能D(C(X),B(X),A(X))。这个关于管道的解释我觉得比较通俗易懂,我是从另一个博主的博文中摘取的,原文在王垠:Unix的缺陷。这是一篇介绍Unix的哲学缺陷的文章,其中说到的用文本流作为程序通用接口的缺陷我在ps中没有发现,应该是因为ps是建立在CTS(通用类型系统)上的原因,所以ps支持多种类...
阅读全文
摘要:一个好汉三个帮,没人帮忙看文档。这一章将会介绍如何看文档。 正所谓受人以鱼不如授人以渔,给人种子不如教他电驴。我觉得只要掌握基础的语法,剩下的就是编程思想加上各种查阅帮助文档了。首先我们来看看cmdlet这个东西,他是ps里的单一命令行工具。听着挺唬人的,其实就是ps提供的一些命令,之所以冠上单一的名号是因为每个命令都只执行一种功能,ps又可以称为monad(单子)。ps的编程我觉得就是将复杂的功能拆分成一个个小的函数,然后再把这些函数组合在一起。cmdlet的标准命名方式是verb(动词)-noun(名词),类似于get-item,set-content这样的命令。 获取帮助翻译成英...
阅读全文
摘要:这篇将真正开始ps之旅,第一个要介绍的就是$(dolar),$是一个神奇的符号(不是因为他可以一折吃喝玩乐) ps里当你需要一个临时的变量去存储结果(表达式的输出或者函数的返回值),那么就可以用"$"+变量名的形式去定义一个临时的容器。就像一个临时工一样,而临时工是无所不能的,可以在任何需要他们背黑锅的地方出现。临时变量也是一样,他可以接受任何类型的对象,而这"$"个符号本身也是变量名的一部分。所以当你在使用时候,也必须加上"$"。如下图 下面说说类型,所有的对象都继承自object类,所以可以调用gettype()这个方法来查看,而
阅读全文
摘要:上篇说了我对ps的一些基本认识,这一篇还将在入口徘徊一会,毕竟前戏得做足。 由于苦逼的我还是用着XP所以不得不上网下了个powershell,新装的系统还要整了个framework 2.0 ps1,全装完后接下来在cmd里输入powershell如下图 作为一个屌丝,基本的礼貌还是要有的,所以我决定先跟世界打声招呼,加上最近奥运会,举国上下鸡血沸腾,一番折腾后变成了下图 大家可以看到shell所在的文件路径变了,这是因为我没有从控制台打开ps而是直接在ps的安装目录下双击打开(这两种打开的方式只是默认的目录不同而已),就是在这个目录下有一个profile.ps1的配置文件,而以ps1...
阅读全文