入侵PingPlotter,第2部分

12 第二页
第2页共2页

注1:这是一个C型循环在这种情况下,哪个更容易使用变量,$4$5,开始和结束C类网络定义为$1$2,$3

注2:OS X的命令中的工具:

-t 1 -c $COUNT $a$i

… 开关- t 1指定1秒之前的超时退出,无论已收到多少数据包。对于其他系统'实用程序的正确开关通常是-W。输出成功如上所示将看起来像:

PING xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx): 56数据字节
来自xxx.xxx.xxx.xxx的64个字节:ICMP_SEQ = 0 TTL = 64次= 0.626毫秒

——xxx.xxx.xxx ping statistics——
发送2个包,接收1个包,丢包率为50.0%
min/avg/max/stddev = 0.626/0.626/0.626/0.000 ms

一个失败的看起来像:

PING xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx): 56数据字节

——xxx.xxx.xxx ping statistics——
发送1个包,接收0个包,丢包100.0%

注3:的输出管道grep和论点'已收到'告诉grep发送任何包含该参数文本的行stdout.的成功注释1中的示例grep就是这一行:

发送2个包,接收1个包,丢包率为50.0%

一个失败的会产生:

发送2个包,接收0个包,丢包100.0%

注4:的输出grep是由管道输送到awk实用程序。的-FSwitch指定划分数据项的分隔符,在这种情况下它指定了逗号和{print $2}参数指定awk应该输出第二个字段;因此,从grep的成功ping的输出awk将依次输出:

1包收到了

这也可以是2或3个包,取决于在设定的时间内收到了多少平的-T.开关。显然一个失败会导致awk输出:

0数据包收到

awk输出被发送到第二次调用awk默认为空格作为分隔符,并指示打印第一个字段,{print $1},要么为0失败或1 2 3成功了。

注5:在括号的前面grep,awk命令转换由ping-grep-awk-awk命令转换为可存储在变量中的值回复

注6:如果变量回复不等于“0”(即收到的一个或多个数据包)然后打印,使用printf,成功状态更新(注意回车,r \).这个更新看起来像:

主持人:xxx.xxx.xxx.xxx将于2014年7月23日星期三16:50:09结束

注6b:然后调用…旋度并将命令发送到PingPlotter,以添加由变量$a$i组合指定的目标(变量的当前值被替换为占位符)。后旋度命令是:

& > / dev / null

,它通过标准输出(stdout)以及错误输出到位桶。如果你真的关心错误,那么你可以随意修改这个但是为了成功的调用旋度你还是会想摆脱stdout输出;它将是一个像这样的XML块:

<?xml version = " 1.0 " encoding = " iso - 8859 - 1 " ?> < PingPlotter / >

注7:如果变量回复= " 0 "然后打印一个失败更新:

主持人:xxx.xxx.xxx.xxx将于2014年7月23日星期三16:50:09结束

使用printf与一个r \附加一个回车,以便进一步失败更新将覆盖该行。这个覆盖将一直发生,直到成功的更新覆盖该行,然后将打印移到下一行。注意前面的两个空格r \在注6a所述的成功更新中;这将覆盖失败消息的最后两个字符,这是由于“down”比“up”长。为什么要在文本输出上瞎忙活?因为更新会让你知道发生了什么,即使有一整个运行失败了,还不如好看。

注8a & 8b:最后,当我们循环遍历所有IP地址空间时,我们打印62个空格来覆盖最后的状态消息printf输出空格有点复杂;“% 0。s”指定打印长度为零的字符串,如果提供的字符串长度大于零,则不包含额外字符。然后在这个零长度的字符串之后打印一个空格,有62个参数,所以printf打印每个带有空间的62个零长度字符串。决赛printf打印一个回车,文本“Done.”,最后在退出脚本之前使用换行符。再说一遍,漂亮就是漂亮。

加入网络世界社区足球竞猜app软件脸谱网LinkedIn对自己最关心的话题发表评论。

版权所有©2014 IDG Com足球竞彩网下载munications, Inc.

12 第二页
第2页共2页
SD-WAN买家指南:要询问供应商(和您自己)的关键问题