All pastes #605231 Raw Edit

wireddd

public shellscript v1 · immutable
·published 2007-07-06 01:15 UTC
rendered paste body
#!/bin/bashIpAndNetmasktoNetwork(){  # expects $1 to be an ip address  # expects $2 to be a netmask  local oldifs  local ip  local nm  local ipnum  local masknum  local t  local ipnet  local prefix  local ipnetnum  oldifs="$IFS"  IFS=.  ip=($1)  nm=($2)  ipnum=$((ip[0]*256*256*256 + ip[1]*256*256 + ip[2]*256 + ip[3]))  masknum=$((nm[0]*256*256*256 + nm[1]*256*256 + nm[2]*256 + nm[3]))  IFS="$oldifs"  ((ipnetnum = ipnum & masknum))  ((t=masknum))  for ((prefix=32; (t & 1) == 0; t /= 2))  do    ((prefix--))  done  ipnet=($ipnetnum)  ipnet=$((ipnet >> 24)).$(((ipnet >> 16) & 255)).$(((ipnet >> 8) & 255)).$((ipnet & 255))/$prefix  echo $ipnet}IpAddress="192.168.10.100"Netmask="255.255.255.0"Network="`IpAndNetmasktoNetwork "$IpAddress" "$Netmask"`"echo $Network