Linux Shell脚本中获取本机ip地址方法

时间:2021-08-01 17:47:35

  1. ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"​

命令解释如下:


  1. grep 'inet'             截取包含ip的行
  2. grep -v '127.0.0.1'     去掉本地指向的那行
  3. grep -v inet6           去掉包含inet6的行
  4. awk '{ print $2}'       $2 表示默认以空格分割的第二组 同理 $1表示第一组​
  5. tr -d "addr:            删除"addr:"这个字符串

输出结果:


  1. [root@master]# ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"
  2. 192.168.168.200

在另外一台机器上的输出结果是:


  1. [root@master]# ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "add:"
  2. 10.147.197.32
  3. 192.168.122.1

192.*.*.*    和  10.*.*.* 这两个网段是不同的,现在要实现在不同网段的IP地址打印不同的输出,shell脚本如下:


  1. #!/bin/sh
  2. ip=`ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"​`
  3. echo $ip
  4. if[[ $ip =="10."*]]
  5. then
  6. echo "该网段是10.*.*.*网段"
  7. else
  8. echo "该网段是192.*.*.*网段"
  9. fi

Linux Shell脚本中获取本机ip地址方法的更多相关文章

  1. shell脚本中获取本机ip地址的方法

    ipaddr='172.0.0.1' ipaddr=$(ip addr | awk '/^[0-9]+: / {}; /inet.*global/ {print gensub(/(.*)\/(.*)/ ...

  2. shell中获取本机ip地址

    shell中获取本机ip地址 方法一: /sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr ...

  3. Windows下获取本机IP地址方法介绍

    Windows下获取本机IP地址方法介绍 if((hostinfo = gethostbyname(name)) != NULL) { #if 1 ; printf("IP COUNT: % ...

  4. shell脚本中获取当前所在目录地址

    shell脚本中获取当前所在目录如下 #!/bin/bash work_path=$() cd ${work_path} work_path=$(pwd) cd ${work_path}/src

  5. [转]Shell脚本中获取SELECT结果值的方法

    http://blog.itpub.net/13885898/viewspace-1670297/ 有时候我们可能会需要在Shell脚本中执行SELECT语句,并将结果赋值给一个变量,对于这样的情形, ...

  6. 在unity 脚本中获取客户端的IP地址

    需要using System.Net.NetworkInformation;原理就是获取网卡的信息. //下面这段代码是我在百度贴吧找来的,经检验是正确的 string userIp = " ...

  7. Shell 命令行获取本机IP,grep的练习

    Shell 命令行获取本机IP,grep的练习 在 mac 下面输入 ifconfig 或者在 linux 下面输入 ip a 就可以得到我们的网卡信息.不过通常情况下,我们需要查看的是我们的IP地址 ...

  8. 学习Linux shell脚本中连接字符串的方法

    这篇文章主要介绍了Linux shell脚本中连接字符串的方法,如果想要在变量后面添加一个字符,可以用一下方法: 代码如下: $value1=home $value2=${value1}"= ...

  9. Linux shell脚本中shift

    Linux shell脚本中shift的用法说明 shift命令用于对参数的移动(左移),通常用于在不知道传入参数个数的情况下依次遍历每个参数然后进行相应处理(常见于Linux中各种程序的启动脚本). ...

随机推荐

  1. tp框架总结(四)

    一 ajax的返回 调用实例: $this->ajaxReturn(返回数据,提示信息,操作状态); $this->ajaxReturn(返回数据,‘json’); js: <scr ...

  2. jquery无new构建学习笔记

    当我们想要创建一个对象,我们可能使用new方法去构建一个对象,那按道理jquery也是一个对象,应该也是用new jquery()来构建呀为什么我们创建jquery对象不用new jquery()而是 ...

  3. 基于IPV6的数据包分析(更新拓扑加入了linux主机和抓取133icmp包)(第十三组)

    1.拓扑图 2.配置ipv6地址,在拓扑图上对应位置标有对应网段,所在网段的端口按照网段配置,下图以r4为例 3.配置路由表,由于静态路由还要敲ip很麻烦所以使用ospf协议,下图为ospf配置以r5 ...

  4. (二 -1) 天猫精灵接入Home Assistant-控制Mqtt设备

    关于hass对接mqtt 请参考官网 https://www.hachina.io/docs/7083.html 1 登陆运行着hass的阿里云服务器 2 修改hass配置文件,添加mqtt服务信息 ...

  5. Mybatis异常There is no getter for property named &&num;39&semi;XXX&&num;39&semi; in &&num;39&semi;class java&period;lang&period;String&&num;39&semi;

    1.当入参为 string类型时 (包括java.lang.String.)  我们使用#{xxx}引入参数.会抛异常There is no getter for property named 'XX ...

  6. leetcode119

    public class Solution { public IList<int> GetRow(int rowIndex) { List<List<int>> l ...

  7. c&num;Filestream类(文件流)

    0.创建文件流几种方法: File.Open("a.txt",FileMode.Create,FileAccess.ReadWrite); File.OpenWrite(&quot ...

  8. The memory graph Shared by the method

    Phone类 package com.itheima_03; /* * 手机类 */ public class Phone { String brand; int price; String colo ...

  9. PS灰度蒙版建立

    通道里: 建立高光 1.Ctrl + 鼠标单击RGB通道-->得到高光 点击蒙版-->得到Alpha1(重命名高光通道): 2.然后紧接着Ctrl + shift + alt +鼠标单击A ...

  10. Hotspot JVM下,parallel与concurrent的区别

    转载于知乎 作者:Ted Mosby链接:https://www.zhihu.com/question/21535747/answer/144884632来源:知乎著作权归作者所有.商业转载请联系作者 ...