Linux获取外网IP地址shell脚本

简介: 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/catoop/article/details/81736239 基于Linux系统的获取外网IP地址的shell脚本,脚本内容如下: getIp.
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/catoop/article/details/81736239

基于Linux系统的获取外网IP地址的shell脚本,脚本内容如下:
getIp.sh

#!/bin/bash
#检查IP的合法性
check_ipaddr()
{
    echo $1|grep "^[0-9]\{1,3\}\.\([0-9]\{1,3\}\.\)\{2\}[0-9]\{1,3\}$" > /dev/null;
    if [ $? -ne 0 ]
    then
        #echo "IP地址必须全部为数字" 
        return 1
    fi
    ipaddr=$1
    a=`echo $ipaddr|awk -F . '{print $1}'`  #以"."分隔,取出每个列的值 
    b=`echo $ipaddr|awk -F . '{print $2}'`
    c=`echo $ipaddr|awk -F . '{print $3}'`
    d=`echo $ipaddr|awk -F . '{print $4}'`
    for num in $a $b $c $d
    do
        if [ $num -gt 255 ] || [ $num -lt 0 ]    #每个数值必须在0-255之间 
        then
            #echo $ipaddr "中,字段"$num"错误" 
            return 1
        fi
   done
   #echo $ipaddr "地址合法"
   return 0
}

host=ns1.dnspod.net
port=16666
ip=`cat</dev/tcp/$host/$port`

check_ipaddr "$ip"

if [ "$?"x = "0"x ]; then
   echo "外网IP地址:$ip"
else
   echo "获取IP地址失败!"
fi

使用命令 chmod +x getIp.sh 给脚本授权后即可执行输出结果。

目录
相关文章
|
22小时前
|
存储 安全 Linux
|
2天前
|
Java Shell Perl
使用shell脚本给日志文件瘦身
使用shell脚本给日志文件瘦身
|
2天前
|
Ubuntu Shell Linux
|
4天前
|
运维 Java 应用服务中间件
Tomcat安装shell脚本
Tomcat安装shell脚本
16 7
|
4天前
|
运维 应用服务中间件 Shell
Nginx安装与虚拟主机配置shell脚本
Nginx安装与虚拟主机配置shell脚本
10 0
|
17天前
|
Unix Shell Linux
在Unix/Linux Shell中,管道(`|`)和重定向
在Unix/Linux Shell中,管道(`|`)和重定向
15 1
|
17天前
|
Shell Linux
在Linux Shell中,信号
在Linux Shell中,信号
11 1
|
18天前
|
Shell
shell脚本for循环复杂用法
shell脚本for循环复杂用法
27 5
|
18天前
|
Shell
Shell脚本中的`case`语句
Shell脚本中的`case`语句
19 5
|
18天前
|
Shell
在Shell脚本中,使用`if`语句进行复杂的条件判断
在Shell脚本中,使用`if`语句进行复杂的条件判断
16 2

相关产品

  • 云迁移中心