Мені потрібно працювати зі скриптом, який використовує ping
команду зі звичайним синтаксисом Linux, ні пакет за замовчуванням Cygwin, ні утиліта Windows ping не працюватимуть. Наразі я зашифрував сценарій, щоб використовувати версію Windows (з певними труднощами; виконуваний файл Windows не надає корисних кодів повернення, тому мені доведеться проаналізувати вихід), але мені б хотілося, щоб вийшов з-за- сумісність коробки та додаткові функції Linux ping. Перш ніж я продовжую, дозвольте констатувати, що я запускаю Cygwin в режимі адміністратора; це не питання привілеїв. Це випуск версій.
ping
Команда Cygwin за замовчуванням вказана як версія "1.0-1" в диспетчері налаштувань, в пакеті "ping: основний мережевий інструмент для перевірки підключення до мережі IP". Без аргументів, він виводить:
Usage: ping [-dfqrv] host [packetsize [count [preload]]]
а опис чоловічої сторінки починається з "Інтернет DARPA - це велика і складна сукупність мережевих апаратних засобів" , яка читається як більш ніж застаріла для мене. Це версія, встановлена в /bin/ping
.
ping
Команда Windows розміщена за адресою $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. Я не знайшов жодної версії iputils, призначеної для Windows.