0

我最近开始使用 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 该文件的输出显示:“整个整数表达式估计”(从德语翻译成英语”。

有没有人知道我必须如何比较网络掩码或知道根据实际网络掩码获取 CIDR 通知的另一种方法?(网络掩码应该是可变的)

感谢您的进一步帮助!

干杯

梅斯

4

2 回答 2

0

让 ip 和 awk 完成工作:

CIDR=`/sbin/ip address show eth0|awk '/inet / {split($2, a, "/"); print a[2]}'`
于 2014-03-25T19:05:09.093 回答
0

WOW! Thanks... that's a much comfortable solution as I had. Instead of 32 IF comparisons i can use your command!

@BTW

After looking for the solution I finally found it on the IF comparison.

TO compare the IP's i had to use " = " as operator and not " -eq " .

-eq (Integer) = (String)

Thank you anyway! I will use your command, it's easier instead of mine.

Cheers Maesi

于 2014-03-26T09:22:14.417 回答