- 2013-09-29国务院近日印发了上海自由贸易试验区总体方案,自贸区...
- 2013-09-29移动医疗大潮袭来,看着是肉 咬下去是骨头。
- 2013-09-28安卓阵营集体遭360洗劫,华为三星步步高悉数中枪
- 2013-09-28小米MIUI团队声明称应用商店内全线下架360产品
- 2013-09-25阿里巴巴与云存储应用酷盘的收购谈判行已结束,阿里巴...
- 2013-09-25苹果称其全新Touch ID指纹扫描安全系统可以“十分安全...
- 2013-09-24上海自贸区不设防火墙 脸谱和推特等解禁
- 2013-09-24Fairfax Financial计划收购黑莓:每股9美元 总价47亿美...
- 2013-09-24消息称苏宁洽购PPTV进入尾声 金额约为4亿美元
- 2013-09-238月25日凌晨,中国.CN域名解析出现大规模解析故障,攻击...
PowerShell命令输出的控制方法
发表于:2013-09-08|
次阅读|
作者:藕码网
摘要:PowerShell命令输出的控制方法
在编写生产质量函数的时候,以前有关Windows PowerShell的文章有2/3都是介绍输入和错误处理的。现在让我们来看一下最后一个因素:输出。
脚本和命令的输出一直繁琐且不一致,甚至在同一个工具里也是一样。用户对于这些天我们一直使用的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来给用户显示消息。为什么呢?因为你不想在用户弄坏你带有标记的输出数据,因此按照用户所期望的目标、且保持数据的完整性是十分 重要的。使用没有多余信息的管道,用户能够访问与预期属性一致的数据,而不需要再解析数据。
换句话说,一个没有多余信息的管道可以让使用者更加高兴。
脚本和命令的输出一直繁琐且不一致,甚至在同一个工具里也是一样。用户对于这些天我们一直使用的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函数的基本指南 下一篇:开启gzip压缩的方法
- 用户评论
- 相关文章
-
最新评论
推荐文章
-
1
使用IIS+Resin来配置J...
本文介绍使用IIS+Resin来配置JSP的运行环境... -
2
MYSQL的主要参数设置(...
MYSQL的主要参数设置(优化) -
3
Linux服务器安全小技巧...
Linux 服务器安全小技巧 -
4
批量修改计算机名
批量修改计算机名 -
5
Linux下安装apache
Linux下安装apache -
6
Windows日志NTFS错误
Windows日志NTFS错误
热门文章榜