我需要使用ping
以普通Linux语法使用该命令的脚本,而Cygwin的默认软件包或Windows ping实用程序都无法使用。现在,我已经修补了该脚本以使用Windows版本(有些困难; Windows可执行文件不提供有用的返回码,因此我必须解析输出),但是我想盒兼容性和Linux ping的其他功能。在进一步介绍之前,请先声明我以管理员模式运行Cygwin。这不是特权问题。这是一个版本问题。
Cygwin的默认ping
命令在安装程序管理器的“ ping:测试IP网络连接的基本网络工具”包中列为版本“ 1.0-1”。没有参数,它输出:
Usage: ping [-dfqrv] host [packetsize [count [preload]]]
手册页的描述以“ DARPA Internet是网络硬件的庞大而复杂的集合”开头,这对我来说似乎有点过时了。这是安装在中的版本/bin/ping
。
Windows ping
命令位于$SYSTEMROOT/system32/ping
,并在调用时输出以下消息,不带参数。
Usage: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS]
[-r count] [-s count] [[-j host-list] | [-k host-list]]
[-w timeout] target_name
当然,这是一个功能更丰富的ping(特别是,它包括超时,这对我很重要),但是它不是现代Linux安装中可用的版本:
ping [ -LRUbdfnqrvVaAB] [ -c count] [ -i interval] [ -l preload] [ -p pattern]
[ -s packetsize] [ -t ttl] [ -w deadline] [ -F flowlabel] [ -I interface]
[ -M hint] [ -Q tos] [ -S sndbuf] [ -T timestamp option] [ -W timeout]
[ hop ...] destination
在此处在线记录。除了引用Cygwin之外,我似乎找不到对ping的cygwin版本的引用。
我发现了这个古老的电子邮件线程,它描述了Cygwin的早期版本,但没有ping。我没有找到为Windows设计的任何版本的iputils。