linux获取本地ip命令,Shell获取当前主机ip地址
Shell获取当前主机ip地址:
1.方法一
使用ifconfig 并指定接口:
ifconfig eth0|grep "inet addr:"|awk -F":" {print $2}|awk {print $1}
2.方法二
使用ip addr命令
ip addr | grep state UP -A2 | tail -n1 | awk {print $2} | cut -f1 -d /
grep -A2 显示匹配后的后2行
或者:
ip addr | grep state UP -A2 | tail -n1 | awk {print $2} | awk -F"/" {print $1}
#!/bin/sh
os_ver=`uname`
if [ "$os_ver" = "AIX" ]; then
n=`ifconfig -a |grep -i up|grep -v inet6 |awk -F":" {print $1}|wc -l`
i=0
echo [
for ethname in `ifconfig -a |grep -i up|grep -v inet6 |awk -F":" {print $1}`
do
i=`expr $i + 1`
ipaddr=`ifconfig $ethname|grep "inet"|grep -v "inet6"|awk {print $2}`
if [ $i -lt $n ]; then
echo {"name":"${ethname}","ip":"${ipaddr}"},
else
echo {"name":"${ethname}","ip":"${ipaddr}"}
fi
done
echo ]
else
n=`ifconfig | grep "Link" | grep -v inet6 | awk {print $1}|wc -l`
i=0
echo [
for ethname in $(ifconfig | grep "Link" | grep -v inet6 | awk {print $1})
do
i=`expr $i + 1`
ipaddr=`ifconfig $ethname|grep "inet addr:"|awk -F":" {print $2}|awk {print $1}`
if [ $i -lt $n ]; then
echo {"name":"${ethname}","ip":"${ipaddr}"},
else
echo {"name":"${ethname}","ip":"${ipaddr}"}
fi
done
echo ]
fi
Shell获取当前主机ip地址: 1.方法一 使用ifconfig 并指定接口: ifconfig eth0|grep "inet addr:"|awk -F":" {print $2}|awk {print $1} 2.方法二 使用ip addr命令 ip addr | grep state UP -A2 | tail -n1 | awk {print $2} | cut -f1 -d / grep -A2 显示匹配后的后2行 或者: ip addr | grep state UP -A2 | tail -n1 | awk {print $2} | awk -F"/" {print $1} #!/bin/sh os_ver=`uname` if [ "$os_ver" = "AIX" ]; then n=`ifconfig -a |grep -i up|grep -v inet6 |awk -F":" {print $1}|wc -l` i=0 echo [ for ethname in `ifconfig -a |grep -i up|grep -v inet6 |awk -F":" {print $1}` do i=`expr $i + 1` ipaddr=`ifconfig $ethname|grep "inet"|grep -v "inet6"|awk {print $2}` if [ $i -lt $n ]; then echo {"name":"${ethname}","ip":"${ipaddr}"}, else echo {"name":"${ethname}","ip":"${ipaddr}"} fi done echo ] else n=`ifconfig | grep "Link" | grep -v inet6 | awk {print $1}|wc -l` i=0 echo [ for ethname in $(ifconfig | grep "Link" | grep -v inet6 | awk {print $1}) do i=`expr $i + 1` ipaddr=`ifconfig $ethname|grep "inet addr:"|awk -F":" {print $2}|awk {print $1}` if [ $i -lt $n ]; then echo {"name":"${ethname}","ip":"${ipaddr}"}, else echo {"name":"${ethname}","ip":"${ipaddr}"} fi done echo ] fi