Netzberechnung: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „<syntaxhighlight> #!/bin/bash IP=$1 NM=$2 function netnumber() { w=$1 i=$2 k=$((256-$i)) m=$(($w/$k)) echo $(($m*$k)) } function broadcast() { w=$1 i=$2 k=$(…“)
 
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 21: Zeile 21:
 
echo $(($(($((m+1))*$k))-1))
 
echo $(($(($((m+1))*$k))-1))
 
}
 
}
 +
 +
 +
function k_bestimmung()
 +
{
 +
w=$1
 +
i=$2
 +
k=$((256-$i))
 +
echo $k
 +
}
 +
 +
 +
  
 
NM0=$(echo $NM | cut -f 1 -d .)
 
NM0=$(echo $NM | cut -f 1 -d .)
Zeile 41: Zeile 53:
 
         NN=$NN.$(netnumber ${IP_ARRAY[$I]}  ${NM_ARRAY[$I]})
 
         NN=$NN.$(netnumber ${IP_ARRAY[$I]}  ${NM_ARRAY[$I]})
 
         BC=$BC.$(broadcast ${IP_ARRAY[$I]}  ${NM_ARRAY[$I]})
 
         BC=$BC.$(broadcast ${IP_ARRAY[$I]}  ${NM_ARRAY[$I]})
 
+
        HOSTS=$(k_bestimmung  ${IP_ARRAY[$I]}  ${NM_ARRAY[$I]})
 
         FLAG=1
 
         FLAG=1
 
else
 
else
Zeile 57: Zeile 69:
 
       NN=$NN.0
 
       NN=$NN.0
 
       BC=$BC.255
 
       BC=$BC.255
 +
      HOSTS=$(echo $HOSTS*256 | bc -l )
 
     fi
 
     fi
  
Zeile 62: Zeile 75:
 
done
 
done
  
echo NN $NN
+
printf "NETNUMBER:  %s\n" $NN
echo BC $BC
+
printf "BROADCAST:  %s\n" $BC
 
+
printf "HOSTS:      %s\n" $(($HOSTS-2))
 
</syntaxhighlight>
 
</syntaxhighlight>

Aktuelle Version vom 6. Februar 2020, 20:14 Uhr

#!/bin/bash
IP=$1
NM=$2

function netnumber()
{
w=$1
i=$2
k=$((256-$i))
m=$(($w/$k))
echo $(($m*$k))
}

function broadcast()
{
w=$1
i=$2
k=$((256-$i))
m=$(($w/$k))
echo $(($(($((m+1))*$k))-1))
}


function k_bestimmung()
{
w=$1
i=$2
k=$((256-$i))
echo $k
}




NM0=$(echo $NM | cut -f 1 -d .)
NM1=$(echo $NM | cut -f 2 -d .)
NM2=$(echo $NM | cut -f 3 -d .)
NM3=$(echo $NM | cut -f 4 -d .)
NM_ARRAY=($NM0 $NM1 $NM2 $NM3 )

IP0=$(echo $IP | cut -f 1 -d .)
IP1=$(echo $IP | cut -f 2 -d .)
IP2=$(echo $IP | cut -f 3 -d .)
IP3=$(echo $IP | cut -f 4 -d .)
IP_ARRAY=($IP0 $IP1 $IP2 $IP3 )

FLAG=0
for((I=0;I<4;I++))
do
if [[  ${NM_ARRAY[$I]} != 0 && ${NM_ARRAY[$I]} != 255 ]]
then
        NN=$NN.$(netnumber ${IP_ARRAY[$I]}  ${NM_ARRAY[$I]})
        BC=$BC.$(broadcast ${IP_ARRAY[$I]}  ${NM_ARRAY[$I]})
        HOSTS=$(k_bestimmung  ${IP_ARRAY[$I]}  ${NM_ARRAY[$I]})
        FLAG=1
else
  if [[ $FLAG = 0 ]]
    then
     if [[ $I != 0 ]]
     then
      NN=$NN.${IP_ARRAY[$I]}
      BC=$BC.${IP_ARRAY[$I]}
     else
      NN=${IP_ARRAY[$I]}
      BC=${IP_ARRAY[$I]}
      fi
    else
      NN=$NN.0
      BC=$BC.255
      HOSTS=$(echo $HOSTS*256 | bc -l )
    fi

fi
done

printf "NETNUMBER:  %s\n" $NN
printf "BROADCAST:  %s\n" $BC
printf "HOSTS:      %s\n" $(($HOSTS-2))