#!/bin/bash

echo "请输入一个ip地址的CIDR(格式:x.x.x.x/x):" read input_cidr

将输入的CIDR分割成IP地址和子网掩码两部分

ip=${input_cidr%/} netmask=${input_cidr#/}

将IP地址转换成二进制

ip_binary=$(echo $ip | awk -F. '{printf "%08d%08d%08d%08d\n", $1, $2, $3, $4}')

计算子网掩码的二进制形式

netmask_binary="" for ((i=0; i<32; i++)); do if [ $i -lt $netmask ]; then netmask_binary+="1" else netmask_binary+="0" fi done

计算IP地址数量

ip_count=$((2 ** (32 - netmask)))

echo "IP地址数量为:$ip_count"

shell写一个计算ip数量的sh

原文地址: https://www.cveoy.top/t/topic/d885 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录