编写shell脚本获取本机的网络地址?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编写shell脚本获取本机的网络地址?相关的知识,希望对你有一定的参考价值。

比如:本机的ip地址是:192.168.100.2/255.255.255.0,那么它的网络地址是192.168.100.1/255.255.255.0

参考技术A 问题有问题,本机的ip地址是:192.168.100.2/255.255.255.0,网络地址应该是192.168.100.0/255.255.255.0。默认的网关地址才是192.168.100.1/255.255.255.0。
一个超笨的办法:
在脚本里写入:
netid=`ifconfig eth0 | grep "inet addr" | cut -d ":" -f 2 | cut -d " " -f 1 | cut -d "." -f 1-3`
echo $netid.0
就可以显示一个IP地址了,这个IP地址就是你本机所在网络的网络地址。当然,这是以掩码是24位且你的网卡是eth0为前提的。注意第二个cut -d 后面的引号里面有空格。
参考技术B hostname -i显示本机ip地址
再去查看/etc/sysconfig/network-script/下面的ifcfg文件
找到NETMASK
或者用这条命令
cat /etc/sysconfig/network-scripts/ifcfg-eth0 |grep ^NETMASK|cut -d = -f 2
直接获取mask掩码
然后编写shell脚本
#!/bin/bash
hostname -i
cat /etc/sysconfig/network-scripts/ifcfg-eth0 |grep ^NETMASK|cut -d = -f 2
希望对你有帮助
参考技术C 给一个你
[root@dns4 ~]# vim ip.sh
ip=$(ifconfig | grep "inet addr" | grep -v 127.0.0.1 | awk 'print $2' | awk -F ':' 'print $2')
echo "本机IP地址是:$ip"
[root@dns4 ~]# ./ip.sh
本机IP地址是:192.168.1.123
参考技术D #! /bin/bash
read -p "请输入指定网卡名称/ALL是所有:" a
if [ $a==ALL] ; then
ifconfig |grep "inet addr:"|awk -F : 'print $2'|awk 'print $1'
else
ifconfig $a |grep "inet addr:"|awk -F : 'print $2'|awk 'print $1'
fi
第5个回答  2011-10-20 我只会笨办法
ifconfig lo | sed -n -r 's/.*inet (([0-9]1,3\.?)4).*netmask (([0-9]1,3\.?)4).*/\1\/\3/p'

获取本机ip的shell脚本

ifconfig br0 | grep ‘inet addr‘ | sed ‘s/^.*addr://g‘ |sed ‘s/  Bcast:.*$//g‘

  注意:br0为网卡名称,需要改成你使用的网卡名称

以上是关于编写shell脚本获取本机的网络地址?的主要内容,如果未能解决你的问题,请参考以下文章

一键获取 Linux 服务器网络 IP 地址 终极版 Shell 脚本

Py获取本机指定网卡的ip地址

js获取本机的网络IP地址

Shell脚本之IP网络地址和广播地址计算

快速搭建部署网络PXE shell 脚本

Qt获取本机网络信息