ping

04.05.2006 18:01:43

Чего может быть проще чем ping? Да мало что. Только вот, похоже, некоторые разработчики страдают особой формой кретинии и, как результат, ping практически невозможно использовать в кроссплатформенных скриптах без большого геморроя.

Например, необходимо так или иначе быстро проверить жив хост или нет. Для этого, естественно, надо ограничить таймауты и/или количество посылаемых пакетов. В GNU делается легко — опции «-c» или «-w», count и wait соответственно. Классно? Классно! Переходим к BSD и видим опции «-c» и «-t». ОК, хотя бы можно воспользоваться той же опцией «-c».

Самая большая радость наступает когда мы переходим к Solaris и видим, что для начала, можно было бы указать таймаут как второй параметр. При этом, естественно, такой формат более не понимает ни один ping, да и вывод в результате совершенно другой. Но если хочется ограничить количество «пинков», то, для начала надо воспользоваться «расширенной» опцией «-s», после чего последний передаваемый параметр вдруг резко превратится из таймаута в количество тех самых пинков!

За такие выверты, особенно, с учетом далекого BSD-шного прошлого Solaris, разработчиков надо отстреливать на месте.

Забавно, что в Windows работает GNU-тый параметр «-w». Правда, количество пинков уже идет через «-n», чего более нет нигде. Но хоть что-то совпадает, и то радость. Солярщиков же, похоже, точно пора убивать.