比较IP或使用CIDR通知Linux生成IP

时间:2014-03-25 10:51:13

标签: linux cidr

我最近开始使用UNIX系统。我为我的RaspPI和我创建了一个小项目。

我坚持认为我没有在谷歌等方面找到任何帮助。我的问题是:

是否可以使用CIDR通知在变量中添加IP地址?我终于在一个变量中获得了IP地址,但无法获得CIDR通知。我的计划是创建一个脚本,我将当前的网络掩码与网络掩码列表进行比较。它是这样的:

NETMASK= / sbin / ifconfig eth0 | grep面具| cut -d":" -F4 CIDR= 0 if [[ $NETMASK -eq '255.255.255.0' ]] then CIDR=24 elif [[ $NETMASK -eq '255.255.255.128' ]] then CIDR=25 fi 该文件的输出说:"估计整个整数表达式" (从德语翻译成英语"。

是否有任何1知道如何比较网络掩码或知道另一种获取CIDR通知的方法,基于实际的网络掩码?(网络掩码应该是可更改的)

感谢您提供进一步的帮助!

干杯

Maesi

2 个答案:

答案 0 :(得分:0)

让ip和awk完成工作:

CIDR=`/sbin/ip address show eth0|awk '/inet / {split($2, a, "/"); print a[2]}'`

答案 1 :(得分:0)

WOW!谢谢......这是一个非常舒适的解决方案,就像我一样。而不是32 IF比较,我可以使用你的命令!

@BTW

在寻找解决方案之后,我终于在IF比较中找到了它。

要比较IP,我必须使用“=”作为运算符而不是“-eq”。

-eq(整数) =(字符串)

无论如何,谢谢!我会用你的命令,而不是我的命令。

干杯 Maesi