运用Shell 命令行获得本机IP地址

运用Shell 命令行获得本机IP地址

在 mac 下面输入 ifconfig 或者在 linux 下面输入 ip a 就可以得到我们的网卡信息。不过通常情况下,我们需要查看的是我们的ip地址,不需要这么多的信息。所以,我想把这些信息给摘取出来。

mac ifconfig 下面的实现

我们输入 ifconfig 会得到大段的信息,我们可以看到我们想要的IP地址前面的字符串是 inet

所以,我们优化一下代码如下:

ifconfig | grep inet

登录后复制

得到如下信息:

    inet 127.0.0.1 netmask 0xff000000    inet6 ::1 prefixlen 128    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1    inet6 fe80::85e:9798:4041:1717%en0 prefixlen 64 secured scopeid 0x4    inet 192.168.12.139 netmask 0xffffff00 broadcast 192.168.12.255    inet6 fd86:415c:c5f9::c72:1c02:f044:65de prefixlen 64 autoconf secured    inet6 fd86:415c:c5f9::cd76:7bb1:f77d:46f0 prefixlen 64 deprecated autoconf temporary    inet6 fd86:415c:c5f9::508d:685b:6a66:b3ce prefixlen 64 autoconf temporary    inet6 fe80::9446:a1ff:fe5e:9b8f%awdl0 prefixlen 64 scopeid 0x9    inet6 fe80::9d71:6fa:3da5:9cb6%utun0 prefixlen 64 scopeid 0xa

登录后复制

好,已经精简很多了。

我们再排除掉 inet6 和 127 的信息,就可以得到我们的本地IP了

ifconfig | grep inet | grep -v inet6 | grep -v 127

登录后复制

得到

    inet 192.168.12.139 netmask 0xffffff00 broadcast 192.168.12.255

登录后复制

最前面是一个制表符,我们不管,我们用空格分割,并取第二个字段,就可以得到我们的IP信息了

ifconfig | grep inet | grep -v inet6 | grep -v 127 | cut -d ' ' -f2

登录后复制

就顺利的得到另外我们想要的本机IP地址。

我们在 ~/.bin/下面创建一个 getip 的文件,并用 chmod +x ~/.bin/getip 赋予执行权限。然后在命令行里输入 getip 就可以得到我们的本机IP了。

需要先把 ~/.bin/ 配置为环境变量,请参考 将这个命令作为一个系统命令,可以随时执行

在 linux centos 7 下面实现获取本机IP的脚本

linux 不使用 ifconfig 命令来获取信息,而是使用 ip a 来获取。

所以我们把上面的命令修改一下,改成

ip a | grep inet | grep -v inet6 | grep -v 127 | sed 's/^[ \t]*//g' | cut -d ' ' -f2

登录后复制

由于 linux 中得到的信息的最前面不是制表符而是空格,所以加上了 sed ‘s/^[ \t]*//g’ 来清除开头的空格。

其他的逻辑是一样的。如果喜欢的话,也可以搞成全局的,逻辑基本和mac是一致的。

以上就是运用Shell 命令行获得本机IP地址的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/3195258.html

(0)
上一篇 2025年4月1日 02:25:26
下一篇 2025年2月18日 02:48:23

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 使用node.js实现抖音自动抢红包功能

    这篇文章主要介绍了利用adb shell和node.js实现抖音自动抢红包功能,非常不错,具有参考借鉴价值,需要的朋友可以参考下 逻辑很简单,在抖音视频播完之后如果是红包视频,会跳出红包。 我们模拟逻辑如下: 点击屏幕中央,如果有红包打开红…

    编程技术 2025年3月31日
    100
  • node做出个性命令行工具

    这次给大家带来node做出个性命令行工具,node做出个性命令行工具的注意事项有哪些,下面就是实战案例,一起来看一下。 一、实现一个简单的功能 二、环境 1.系统: window 10 2.编辑器: vscode3.node版本: 8.7.…

    2025年3月31日
    100
  • shell一个空格引起的异常

      最近使用shell编写一个备份和替换f服务器程序的脚本replace.sh,初衷是为了节约人力的重复机械的劳动。在脚本编写过程中,由于疏忽多打了一个空格,出现了一个不符合预期的情况。 1.先看一下出问题的replace.sh  清单1:…

    2025年3月31日
    100
  • Shell脚本应该怎么使用?

    Shell脚本,就是利用Shell的命令解释的功能,对一个纯文本的文件进行解析,然后执行这些功能,也可以说Shell脚本就是一系列命令的集合。Shell可以直接使用在win/Unix/Linux上面,并且可以调用大量系统内部的功能来解释执行…

    2025年3月31日 编程技术
    100
  • Linux Shell编程的实例教程

    awk [-field-separator] ‘commands’ input-file(s) 基本模式 awk -F’:’ …  使用#分隔 awk ‘{print …

    编程技术 2025年3月31日
    100
  • 运行和控制Nginx——命令行参数和信号

    参考资料:   Nginx中文文档:     Nginx的启动、停止、平滑重启、信号控制和平滑升级: 命令行参数: 常用命令:   -c filename:设置配置文件。   -t :不运行,而仅仅测试配置文件。nginx 将检查配置文件的…

    2025年3月31日
    100
  • shell实现网络client方法

    需要把线上的access日志发送到另一个程序接收开始想着用python实现,虽然python也有实现类似tail -f的方式,但太麻烦,而且效率也有折扣偶然发现了shell可以实现网络client,并且只用几行代码就可以实现 先上代码: t…

    编程技术 2025年3月31日
    100
  • shell基本语法的介绍与使用

    一、变量 1.变量的命名规则:以字母或下划线开头,后面跟数字,字母或下划线,最好不要随便命名,要做到看见变量名能猜出其含义 2.变量赋值: x=100       echo $x  删除变量:unset x 3.定义变量名的边界用大括号  …

    编程技术 2025年3月31日
    100
  • shell编程–grep命令如何用?

    大家在学习正则表达式之前,首先要明确一点,并把它牢牢记在心里,那就是: 在linux中,通配符是由shell解释的,而正则表达式则是由命令解释的,不要把二者搞混了。切记!!! 通常有三种文本处理工具/命令:grep、sed、awk,它们三者…

    2025年3月31日 编程技术
    100
  • 启动bash shell有哪些方式?

    启动bash shell的三种方式 1、登录时当做默认登录shell 2、作为非登录shell的交互式shell 3、作为运行脚本的非交互shell   一、登录shell 登录Linux系统时,bash shell会作为登录shell启动…

    2025年3月31日 编程技术
    100

发表回复

登录后才能评论