📅  最后修改于: 2023-12-03 15:37:41.129000             🧑  作者: Mango
在 Shell 脚本中,有时需要获取当前主机的 IP 地址,以便进行一些网络操作。本文将介绍如何在变量 linux 中获取 IP 地址的方法。
ifconfig 命令可以查看和配置网络接口,包括获取当前主机的 IP 地址信息。通过解析 ifconfig 命令的输出结果,可以提取出 IP 地址信息并存储到变量中。
#!/bin/bash
# 获取 IP 地址
ip=$(ifconfig | sed -n '2 p' | awk '{print $2}')
echo "本机 IP 地址为:${ip}"
解释如下:
ifconfig
命令:查看系统当前网络接口的信息。sed -n '2 p'
命令:提取 ifconfig 命令输出结果的第二行。awk '{print $2}'
命令:提取输出结果中的 IP 地址信息。hostname 命令可以获取当前主机名和域名信息,同时也可以获取主机的 IP 地址信息。
#!/bin/bash
# 获取 IP 地址
ip=$(hostname -I)
echo "本机 IP 地址为:${ip}"
解释如下:
hostname -I
命令:获取当前主机的 IP 地址信息。ip 命令可以查看和配置网络接口,与 ifconfig 一样,也可以用来获取当前主机的 IP 地址信息。
#!/bin/bash
# 获取 IP 地址
ip=$(ip addr show eth0 | grep "inet\b" | awk '{print $2}' | cut -d/ -f1)
echo "本机 IP 地址为:${ip}"
解释如下:
ip addr show eth0
命令:获取 eth0 网络接口的信息。grep "inet\b"
命令:过滤出 inet 开头的行。awk '{print $2}'
命令:提取输出结果中的 IP 地址信息。cut -d/ -f1
命令:去掉 IP 地址后面的子网掩码信息。以上三种方法都可以在变量 linux 中获取 IP 地址,具体方法可以根据实际情况选择。