运维朱工 发布的文章

Linux云计算交流群:720995729

48571-tlqjhvsy1g.png

在shell脚本中,经常会遇到获取本机服务器IP地址,下面演示几种常见方法。

grep命令:

[root@www.lutixia.cn ~]# ifconfig ens32 | egrep -o "([0-9]{1,3}\.){3}[0-9]{1,3}" | head -n 1
192.168.75.121

[root@www.lutixia.cn ~]# ifconfig ens32 | egrep -o "([0-9]+\.[0-9]+)+" | head -n1
192.168.75.121

awk命令:

[root@www.lutixia.cn ~]# ifconfig ens32 | awk 'NR==2{print $2}'
192.168.75.121
sed命令:
[root@www.lutixia.cn ~]# ifconfig ens32 | sed -n '/inet /p' | sed 's/inet \([0-9.]\+\).*/\1/' | tr -d ' '
192.168.75.121

获取所有网卡的ip:

[root@www.lutixia.cn ~]# cat ip.sh 
#!/bin/bash
​
ifs=(`ifconfig | grep "^e" | awk -F: '{print $1}'`)
​
for i in `echo ${ifs[@]}`;do
    echo -e  "${i}\n\t`ifconfig ${i} | awk 'NR==2{print $2}'`"
done