Netzberechnung: Unterschied zwischen den Versionen
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 | ||
| − | + | printf "NETNUMBER: %s\n" $NN | |
| − | + | 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))