0

以下のコードを使用して ipcal を作成し、NETMASK を取得できます。41.80.0.0/17 のような cidr 表記で IP アドレスのリストを取得し、ネットマスクの IP アドレスのみを取得するようにするにはどうすればよいですか。 IPアドレスのリスト(cidr形式)が機能します。ありがとう

#!/bin/bash

echo -n "Enter IP address in CIDR notation: (eg. 192.168.0.0/24) "
read IP_ADDRESS

# Calculate network values
BROADCAST=$(ipcalc -b $IP_ADDRESS)
NETWORK=$(ipcalc -n $IP_ADDRESS)
NETMASK=$(ipcalc -m $IP_ADDRESS)

echo "Set up your ifcfg file with the following values:"
echo $BROADCAST
echo $NETWORK
echo $NETMASK
4

2 に答える 2

0

ここに私が得るものがあります ipcalc -b 192.168.0.0/23

Address:   192.168.0.0
Netmask:   255.255.254.0 = 23
Wildcard:  0.0.1.255
=>
Network:   192.168.0.0/23
HostMin:   192.168.0.1
HostMax:   192.168.1.254
Broadcast: 192.168.1.255
Hosts/Net: 510                   Class C, Private Internet

したがって、必要なものを取得するには、次のように変更します。

BROADCAST=$(ipcalc -b 192.168.0.0/23 | awk '/Broadcast/ {print $2}')
NETWORK=$(ipcalc -b 192.168.0.0/23 | awk '/Network/ {print $2}')
NETMASK=$(ipcalc -b 192.168.0.0/23 | awk '/Netmask/ {print $2}')

echo $BROADCAST
192.168.1.255

echo $NETWORK
192.168.0.0/23

echo $NETMASK
255.255.254.0
于 2015-02-03T12:56:57.600 に答える