您现在的位置是:网站首页> 编程资料编程资料
Linux Shell脚本中获取本机ip地址方法_linux shell_
2023-05-26
610人已围观
简介 Linux Shell脚本中获取本机ip地址方法_linux shell_
方法一:ifconfig -a
ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"命令解析
- ifconfig -a 和window下执行此命令一样道理,返回本机所有ip信息
- grep inet 截取包含ip的行
- grep -v 127.0.0.1 去掉本地指向的那行
- grep -v inet6 去掉包含inet6的行
- awk { print $2} $2 表示默认以空格分割的第二组 同理 $1表示第一组
- tr -d "addr: 删除"addr:"这个字符串
多网卡情况
倘若有多个网卡,可能会出现多个不同网段的IP,这个时候如果还是执行上述命令就会返回多个IP,如下:
假设某个机器有192.*.*.8和10.*.*.*网段的IP,现在要实现不同网段的IP地址打印不同的输出,shell脚本如下
#!/bin/sh ip=`ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"` echo $ip if[[ $ip =="10."*]] then echo "该网段是10.*.*.*网段" else echo "该网段是192.*.*.*网段" fi 方法二:ip addr
ip addr | awk '/^[0-9]+: / {}; /inet.*global/ {print gensub(/(.*)\/(.*)/, "\\1", "g", $2)}' 这里涉及awk命令,暂不展开详讲,后面会专门有一篇介绍awk命令的文章哦
到此这篇关于Linux Shell脚本中获取本机ip地址方法的文章就介绍到这了,更多相关Shell获取本机ip内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
您可能感兴趣的文章:
相关内容
- Shell用sed命令删除特定行的方法_linux shell_
- Linux shell select菜单选择实现代码_linux shell_
- 工作中使用Shell实用脚本_linux shell_
- Shell中正则表达式及sed和awk常见问题_linux shell_
- shell批量创建文件并重新命名的实例代码_linux shell_
- Shell编程中Shift的用法小结_linux shell_
- 通过shell脚本对mysql的增删改查及my.cnf的配置_linux shell_
- shell脚本加密工具shc使用详解_linux shell_
- Shell脚本之文件批量创建与修改的简单方法_linux shell_
- linux中nohup和后台运行进程查看及终止_linux shell_
