Juin 152011
ce script n’est pas de moi mais c’est un bon aide mémoire sur les bitwise
#!/bin/ksh typeset -i2 mask=255 [[ $# != 2 ]] && { echo "Usage: $0 ipaddress subnetmask" exit 1 } SaveIFS=$IFS IFS=. set -A IParr $1 set -A NMarr $2 IFS=$SaveIFS typeset -i2 ipbin1=${IParr[0]} typeset -i2 ipbin2=${IParr[1]} typeset -i2 ipbin3=${IParr[2]} typeset -i2 ipbin4=${IParr[3]} typeset -i2 nmbin1=${NMarr[0]} typeset -i2 nmbin2=${NMarr[1]} typeset -i2 nmbin3=${NMarr[2]} typeset -i2 nmbin4=${NMarr[3]} echo echo " IP Address: $1" echo " Subnet Mask: $2" echo " Network Address: $((ipbin1 & nmbin1)).$((ipbin2 & nmbin2)).$((ipbin3 & nmbin3)).$((ipbin4 & nmbin4))" echo "Broadcast Address: $((ipbin1 | (mask ^ nmbin1))).$((ipbin2 | (mask ^ nmbin2))).$((ipbin3 | (mask ^ nmbin3))).$((ipbin4 | (mask ^ nmbin4)))" echo