使用bash在Linux中获取子网掩码

时间:2015-10-15 13:41:20

标签: linux bash networking iproute

我正在使用bash通过该脚本获取我的机器的IP地址:

_MyGW="$( ip route get 8.8.8.8 | awk 'N=3 {print $N}' )"

现在我正试图获得这种类型的子网掩码:

192.168.1.0/24 

但我不知道我该怎么做。

3 个答案:

答案 0 :(得分:19)

有几种方法可以实现这一目标:

首先:要以255.255.255.0格式打印掩码,您可以使用:

/sbin/ifconfig wlan0 | awk '/Mask:/{ print $4;} '

第二:我们可以使用ip命令获取格式为192.168.1.1/24的掩码

ip -o -f inet addr show | awk '/scope global/ {print $4}'

答案 1 :(得分:0)

更好的方法是:

let contentLengthchecker = (content, minLength, maxLength) => {
    if(!content){
        return false;
    }else{
        if(content.length < minLength || content.length > maxLength){
            return false;
        }else{
            return true;
        }
    }
};

您可以将eth0替换为您想要的任何其他界面

答案 2 :(得分:0)

对我来说一个简单的方法是:

IP=$(ifconfig eth0 | grep -w inet | cut -d" " -f10) # device IP, e.g. 11.1.1.43
IP_RANGE=$(echo $IP | cut -d"." -f1-3).0/24 # subnet 11.1.1.0/24

当然用eth0显示的正确界面替换ifconfig