通常のLinux構文でコマンドを使用するスクリプトで作業する必要がありますping
が、CygwinのデフォルトパッケージもWindowsのpingユーティリティも機能しません。今のところ、スクリプトをWindowsバージョンを使用するように修正しました(Windows実行ファイルは有用な戻りコードを提供しないため、出力を解析する必要があります)。しかし、すぐに使用できる互換性と追加機能Linux の ping です。先に進む前に、Cygwin を管理者モードで実行していることを述べておきます。これは権限の問題ではなく、バージョンの問題です。
Cygwin のデフォルトping
コマンドは、セットアップ マネージャーのパッケージ「ping: IP ネットワーク接続をテストするための基本的なネットワーク ツール」にバージョン「1.0-1」としてリストされています。引数がない場合、出力は次のようになります。
Usage: ping [-dfqrv] host [packetsize [count [preload]]]
そしてマニュアルページの説明は次のように始まる「DARPAインターネットは大規模かつ複雑なネットワークハードウェアの集合体です。」、これは私にとっては少々古く感じられます。これは にインストールされているバージョンです/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 バージョンに関する参照を見つけることができないようです。
私は見つけたこの古いメールスレッドこれは、ping のない Cygwin の初期バージョンについて説明しています。Windows 用に設計された iputils のバージョンは見つかりませんでした。
答え1
どちらかを選ぶことができます
- ソースからpingをビルドしてみてください。これはiputils パッケージしかし、cygwin 上で何かを構築するのはかなり面倒です。
または(まずこれを試してみます)
- 別のping実装を試してみてください。たとえば、perlのこのperlの実装です。ネット::ピングまたはCPANの他のものの一つ