33 lines
1017 B
Bash
33 lines
1017 B
Bash
#!/bin/bash
|
||
|
||
# 判断命令是否存在
|
||
command_exists() {
|
||
command -v "$@" >/dev/null 2>&1
|
||
}
|
||
|
||
# 获取服务器的公网IP地址
|
||
get_Internal_IP() {
|
||
|
||
local Internal_IP=""
|
||
local Network_Manage_Tool=""
|
||
|
||
if command_exists ip; then
|
||
Network_Manage_Tool=$(ip addr)
|
||
|
||
Ethernet_Interface_Name=$(echo "$Network_Manage_Tool" | grep -Eo "eth([0-9]{1,3})|eno([0-9]{1,3})|ens([0-9]{1,3})" | head -n 1)
|
||
echo "正在使用ip addr命令获取内网的IP地址:"
|
||
Internal_IP=$(ip addr show ${Ethernet_Interface_Name} | grep 'inet ' | head -1 | awk '{print $2}' | cut -f1 -d'/')
|
||
|
||
elif command_exists ifconfig; then
|
||
Network_Manage_Tool=$(ifconfig)
|
||
Ethernet_Interface_Name=$(echo "$Network_Manage_Tool" | grep -Eo "eth([0-9]{1,3})|eno([0-9]{1,3})|ens([0-9]{1,3})" | head -n 1)
|
||
echo "正在使用ifconfig命令获取内网的IP地址:"
|
||
Internal_IP=$(ifconfig ${Ethernet_Interface_Name} | grep 'inet ' | head -1 | awk '{print $2}' | cut -f1 -d'/')
|
||
fi
|
||
|
||
echo ""
|
||
echo "$Internal_IP"
|
||
echo ""
|
||
}
|
||
|
||
get_Internal_IP |