方法一:
ip addr | grep 'state UP' -A2 | tail -n1 | awk '{print $2}' | cut -f1 -d '/'
方法二:如果有多网卡
ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"
案例:
#!/bin/sh
ip=`ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"`
echo $ip
if[[ $ip =="10."*]]
then
echo "该网段是10.*.*.*网段"
else
echo "该网段是192.*.*.*网段"
fi
本文介绍两种在Linux环境下使用Shell脚本获取系统IP地址的方法。第一种方法利用ipaddr命令结合grep和awk筛选出状态为UP的网络接口IP地址;第二种方法通过ifconfig命令排除本地回环地址和IPv6地址,使用awk和tr进一步提取IP地址信息。脚本还包含了一个判断IP地址属于10.x.x.x还是192.x.x.x网段的示例。
905

被折叠的 条评论
为什么被折叠?



