Jednoduchý způsob, jak to udělat pro mě, byl:
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
Nahraďte samozřejmě eth0
se správným rozhraním zobrazeným ifconfig
.
Lepší přístup bude:
ifconfig eth0 | awk '/netmask/{split($4,a,":"); print a[1]}'
Eth0 můžete nahradit jakýmkoli jiným rozhraním, které chcete
existuje několik způsobů, jak toho dosáhnout:
za prvé:pro tisk masky ve formátu 255.255.255.0 můžete použít toto:
/sbin/ifconfig wlan0 | awk '/Mask:/{ print $4;} '
za druhé:můžeme použít příkaz ip k získání masky ve formátu 192.168.1.1/24
ip -o -f inet addr show | awk '/scope global/ {print $4}'