Skip to content

Instantly share code, notes, and snippets.

@skreuzer
Created January 18, 2013 16:43
Show Gist options
  • Save skreuzer/4565939 to your computer and use it in GitHub Desktop.
Save skreuzer/4565939 to your computer and use it in GitHub Desktop.
_cidr2mask()
{
local i mask=""
local full_octets=$(($1 / 8))
local partial_octet=$(($1 % 8))
for((i = 0; i < 4; i += 1))
do
if [ $i -lt $full_octets ]
then
mask+=255
elif [ $i -eq $full_octets ]
then
mask+=$((256 - 2 ** (8 - $partial_octet)))
else
mask+=0
fi
test $i -lt 3 && mask+=.
done
echo $mask
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment