#!/bin/sh
# 获取本机IP,如果是多网卡多IP,则ip之间以","分隔
ip=''
ipAddr=`ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"`
ipArray=(`echo $ipAddr | tr '\n' ' '`)
ipNum=${#ipArray[@]}
if [ $ipNum -eq 1 ]
then
ip=${ipArray[0]}
elif [ $ipNum -gt 1 ]
then
for i in ${ipArray[@]}
do
if [ -n "$ip" ]
then
ip=''$ip','$i'';
else
ip=$i;
fi
done
fi
命令解释:
ifconfig -a 返回本机所有ip信息
grep inet 截取包含ip的行
grep -v 127.0.0.1 去掉本地指向的那行
grep -v inet6 去掉包含inet6的行
awk { print $2} $2 表示默认以空格分割的第二组 同理 $1表示第一组
tr -d “addr:” 删除"addr:"这个字符串