История изменений
Исправление Zmicier, (текущая версия) :
Скриптописательство осваиваю
А, ну это дело благородное. Тогда показываю:
#!/bin/bash
dec2abcd () {
local dec="$1" abcd
for i in {3..0}; do
(( abcd[i] = dec / 256 ** i,
dec %= 256 ** i ))
done
echo "${abcd[3]}.${abcd[2]}.${abcd[1]}.${abcd[0]}"
}
IFS='./' read a d c d m <<< "$1"
(( ip = a * 256 ** 3 + b * 256 ** 2 + c * 256 + d,
hosts = 2 ** (32 - m),
mask = 2 ** 32 - hosts,
net = ip & mask ))
for (( host = net + 1; host < net + hosts - 1; host++ )); do
dec2abcd "$host"
done
Работает как-то так:
$ ipmask2iplist 192.168.12.56/22
192.0.12.1
192.0.12.2
<пропуск>
192.0.15.253
192.0.15.254
Хочу скрипт, который...
Не вникал.
Исходная версия Zmicier, :
Скриптописательство осваиваю
А, ну это дело благородное. Тогда показываю:
#!/bin/bash
dec2abcd () {
local dec="$1" abcd
for i in {3..0}; do
(( abcd[i] = dec / 256 ** i,
dec %= 256 ** i ))
done
echo "${abcd[3]}.${abcd[2]}.${abcd[1]}.${abcd[0]}"
}
IFS='./' read a d c d m <<< "$1"
(( ip = a * 256 ** 3 + b * 256 ** 2 + c * 256 + d,
hosts = 2 ** (32 - m),
mask = 2 ** 32 - hosts,
net = ip & mask ))
for (( host = net + 1; host < net + hosts - 1; host++ )); do
dec2abcd host
done
Работает как-то так:
$ ipmask2iplist 192.168.12.56/22
192.0.12.1
192.0.12.2
<пропуск>
192.0.15.253
192.0.15.254
Хочу скрипт, который...
Не вникал.