• Wow, that is an unhelpful error message. It could have told you it was expecting a number. It turns out that -i is short for “interval” and expects a number, whereas -I is used to specify an interface.

    • Aniki 🌱🌿@lemm.ee
      link
      fedilink
      English
      arrow-up
      15
      ·
      4 months ago

      This exactly. And because this is open-source, its super easy to track this down. I searched for the source of the error message:

      https://github.com/iputils/iputils/blob/3400f3a740942064a545f02aabcf68e234733297/ping/ping.c#L237

      see this is ping_strtod function - so search for that function name and the first hit is the ‘-i’ case:

      		case 'i':
      		{
      			double optval;
      
      			optval = ping_strtod(optarg, _("bad timing interval"));
      			if (isless(optval, 0) || isgreater(optval, (double)INT_MAX / 1000))
      				error(2, 0, _("bad timing interval: %s"), optarg);
      			rts.interval = (int)(optval * 1000);
      			rts.opt_interval = 1;
      		}
      			break;