Linux获取外网IP地址shell脚本-阿里云开发者社区

开发者社区> 单红宇> 正文

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 给脚本授权后即可执行输出结果。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
linux cpu内存利用率获取
有了这么好的工具,我们还需要自己造轮子么? 两种情况,如果有复杂的监控需求,而且愿意花时间学习,我们可以使用nmon;但如果监控需求特殊比如说还要监控单个进程的情况,这时候就需要自己动手实现了。自己动手实现的好处就是灵活。
767 0
Linux 下第一个shell脚本
shell脚本可以高效的完成一件事情,和批处理一个意思。学习写第一个shell脚本。 今天开始写一个判断能否ping通ip的脚本 1.首先我们看看ping通与不同之间的区别 可以ping通的情况,如下图所示: 不可以ping通的情况,如下图所示: 通和不通区别的地方有很多,随便找一个不同点就可以判断其还是不同 2.
802 0
linux定时执行python脚本
linux定时执行python脚本
14 0
Linux各版本的本地root密码破解方法
(一)RedHat/CentOS/Fedora 系统密码破解 1.在grub选项菜单按E进入编辑模式 2.编辑kernel 那行最后加上S (或者Single) 3.按B,启动到single-user mode 4.
712 0
Linux服务器日志备份到本地
1、确定线上服务器的日志文件名称和路径 2、一台本地服务器能连接公网,创建一个日志账户,设置密码 3、线上服务器要求:  a、确定是否已安装sshpass包   [root@iZwz9ghdadtaey1msor7gnZ sh]# rpm -qa|grep sshpass   sshpass-1.
920 0
linux修改主机名,关闭图形化界面,绑定ip地址,修改ip地址
1关闭图形化界面 vi /etc/inittab 改成id:3:initdefault: 注意:不要选0或6 2.修改主机名 vi /etc/sysconfig/network   修改即可 3,修改ip地址 vi /etc/sysconfig/network-scripts/ifcfg-eth0   4.
746 0
+关注
单红宇
软件从业者,爱好技术。
313
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载