判断是否为当前机器的IP地址,通过 ip addr
命令获取本地IP信息,然后过滤不需要的信息,最后循环匹配。
#需要校验的IP
IP_ADDR=192.168.0.111
#获取本机IP地址列表
machine_ips=$(ip addr | grep 'inet' | grep -v 'inet6\|127.0.0.1' | grep -v grep | awk -F '/' '{print $1}' | awk '{print $2}')
log_info "current machine ips: ${machine_ips}"
#输入的IP与本机IP进行校验
ip_check=false
for machine_ip in ${machine_ips}; do
if [[ "X${machine_ip}" == "X${IP_ADDR}" ]]; then
ip_check=true
fi
done
if [[ ${ip_check} != true ]]; then
log_error "your input ip: ${IP_ADDR} is not the current IP address of this machine!"
exit 1
fi