#!/usr/bin/env bash # Function calculates number of bit in a netmask # mask2cidr() { nbits=0 IFS=. for dec in $1 ; do case $dec in 255) let nbits+=8;; 254) let nbits+=7;; 252) let nbits+=6;; 248) let nbits+=5;; 240) let nbits+=4;; 224) let nbits+=3;; 192) let nbits+=2;; 128) let nbits+=1;; 0);; *) echo "Error: $dec is not recognised"; exit 1 esac done echo "$nbits" } mask=$1 cidr=$(mask2cidr $mask) echo "" echo "cidr: $cidr - mask: $mask" echo "" exit 0