#!/bin/sh # # See skript teisendab etteantud maski vormingu 255.255.255.255 # vormingusse 32. # # Kui sisendis ei ole MASKi, siis va"ljundisse ei ilmu ka midagi. # # Progese autor: # Ivo Sa"rak ( ivo at vendomar.ee ). # i=1 mask=0 mask_cont_ok="true" while let "i<5" do compon=$(echo $1 | cut -d\. -f $i) case $compon in 255) mask_add=8 ;; 254) mask_add=7 ;; 252) mask_add=6 ;; 248) mask_add=5 ;; 240) mask_add=4 ;; 224) mask_add=3 ;; 192) mask_add=2 ;; 128) mask_add=1 ;; 0) mask_add=0 ;; *) mask_add=-1 ;; esac if [ "$mask_add" != "-1" ]; then if [ "$mask_cont_ok" = "true" ]; then let "mask=mask+mask_add" if [ "$mask_add" != "8" ]; then mask_cont_ok="false" fi else if [ "$mask_add" != "0" ]; then # echo "VIGANE_MASK" exit 1 fi fi else # echo "VIGANE_MASK" exit 1 fi let "i=i+1" done compon=$(echo $1 | cut -d\. -f 5) if [ "$compon" != "" ]; then # echo "VIGANE_MASK" exit 1 fi echo $mask