Initial commit
This commit is contained in:
34
snippets/mask2cidr.sh
Executable file
34
snippets/mask2cidr.sh
Executable file
@@ -0,0 +1,34 @@
|
||||
#!/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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user