lovet 发表于 2020-4-17 09:27:35

CentOS7取出IP地址并赋值

需求:取出某个网卡IP地址,并把地址赋值给变量:
当前操作系统版本:

# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core) 12
ifconfig查看当前网卡信息:

# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>mtu 1500
      inet 192.168.92.78netmask 255.255.255.0broadcast 192.168.92.255
      inet6 fe80::2801:f5c2:4e5a:d003prefixlen 64scopeid 0x20<link>
      ether 00:0c:29:46:22:22txqueuelen 1000(Ethernet)
      RX packets 248bytes 27453 (26.8 KiB)
      RX errors 0dropped 0overruns 0frame 0
      TX packets 165bytes 19585 (19.1 KiB)
      TX errors 0dropped 0 overruns 0carrier 0collisions 0
ens37: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>mtu 1500
      inet 192.168.92.138netmask 255.255.255.0broadcast 192.168.92.255
      inet6 fe80::20c:29ff:fe46:222cprefixlen 64scopeid 0x20<link>
      ether 00:0c:29:46:22:2ctxqueuelen 1000(Ethernet)
      RX packets 100259bytes 142408805 (135.8 MiB)
      RX errors 0dropped 0overruns 0frame 0
      TX packets 23971bytes 2507885 (2.3 MiB)
      TX errors 0dropped 0 overruns 0carrier 0collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING>mtu 65536
      inet 127.0.0.1netmask 255.0.0.0
      inet6 ::1prefixlen 128scopeid 0x10<host>
      looptxqueuelen 1000(Local Loopback)
      RX packets 0bytes 0 (0.0 B)
      RX errors 0dropped 0overruns 0frame 0
      TX packets 0bytes 0 (0.0 B)
      TX errors 0dropped 0 overruns 0carrier 0collisions 0123456789101112131415161718192021222324252627
ip a 查看当前网卡信息:

# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:46:22:22 brd ff:ff:ff:ff:ff:ff
    inet 192.168.92.78/24 brd 192.168.92.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::2801:f5c2:4e5a:d003/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
3: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:46:22:2c brd ff:ff:ff:ff:ff:ff
    inet 192.168.92.138/24 brd 192.168.92.255 scope global noprefixroute dynamic ens37
       valid_lft 977sec preferred_lft 977sec
    inet6 fe80::20c:29ff:fe46:222c/64 scope link
       valid_lft forever preferred_lft forever12345678910111213141516171819
取出某个网卡对应的IP地址
方法1:

# ifconfig | grep broadcast | awk "NR==1" | awk -F" " '{print $2}'
192.168.92.78
# ifconfig | grep broadcast | awk "NR==2" | awk -F" " '{print $2}'
192.168.92.1381234
方法2:

# ip a | grep -w "inet" | grep ens33 |sed 's/^.*inet //g'|sed 's/\/.*$//g'
192.168.92.7812
方法3:

# ifconfig | grep inet | head -n 1 | awk -F" " '{print $2}'
192.168.92.7812
方法4

ip a show dev ens33|grep -w inet|awk '{print $2}'|sed 's/\/.*//'
ip a show dev ens33|grep -w inet|awk '{print $2}'|awk -F '/' '{print $1}'
ip a | grep ens33 | grep inet | awk '{print $2}' |sed 's/\/.*//'123
把取出的IP地址赋值给变量
# ip=$(ip a | grep ens33 | grep inet | awk '{print $2}' |sed 's/\/.*//')
# echo $ip
192.168.92.78
————————————————
版权声明:本文为CSDN博主「willblog」的原创文章,遵循CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/networken/java/article/details/81365186
页: [1]
查看完整版本: CentOS7取出IP地址并赋值