複数変数の条件(IPアドレス確認)

複数変数の条件(IPアドレス確認)

変数が5つあります。

前任者:

a, b, c, d, x, 

1〜255(xの場合は1〜32)の間ではない場合は、エラーメッセージを表示するか、任意のテキストまたは文字を入力してエラーメッセージを表示します。どうすればいいですか?

経験:

echo "CIDR:"
read ip
x="$(echo $ip |cut -d "/" -f2)"
a="$(echo $ip |cut -d "." -f1)"
b="$(echo $ip |cut -d "." -f2)"
c="$(echo $ip |cut -d "." -f3)"
d="$(echo $ip |cut -d "." -f4 | cut -d "/" -f1)"

ppl が 3 のような誤った IP 形式を入力すると、次1337.-135.abcxyz.!@#@#/12のエラーメッセージが表示されます。Error: wrong IP format...etc。

ベストアンサー1

ipcalcを使用してIPアドレスを確認できます

男性の場合:

 ipcalc - perform simple manipulation of IP addresses

はい

ipcalc -cs 192.168.1.1/30 && echo OK || echo NOT_OK

または

ipcalc -cs "$a.$b.$c.$d/$x" && echo OK || echo NOT_OK

または

ipcalc -cs "$ip" && echo OK || echo NOT_OK

おすすめ記事