子網掩碼格式為255.255.255.0可以通過以下腳本計算掩碼位數
#!/bin/sh
#maskdigits.sh mask
maskdigits () {
a=$(echo "$1" | awk -F "." '{print $1" "$2" "$3" "$4}')
for num in $a;
do
while [ $num != 0 ];do
echo -n $(($num%2)) >> /tmp/num;
num=$(($num/2));
done
done
echo $(grep -o "1" /tmp/num | wc -l)
rm /tmp/num
}
maskdigits "255.255.255.0"
步驟
1,把掩碼分成255 255 255 0 2,循環把1寫入文件/tmp/num 3,最后讀取文件一共有多少行就是有多少個1 子網掩碼位數就是有多少個1
