Linux利用SHELL直接获得IP地址 您所在的位置:网站首页 shell获取ip地址命令 Linux利用SHELL直接获得IP地址

Linux利用SHELL直接获得IP地址

2023-09-22 19:54| 来源: 网络整理| 查看: 265

概述:

我的上一篇文章Linux正则过滤命令ifconfig/ip提取IP地址 介绍了如何利用正则过滤得到IP地址,是利用组合命令获取的,那么问题就来了,如果是高频使用,每次都输入一大串命令来获取,多不方便呀?所以,本文章来介绍如何利用SHELL封装起来这些命令,方便使用者。

准备:

1、第一行 #!/bin/bash 在宣告这个 script 使用的 shell 名称: 因为我们使用的是 bash ,所以,必须要以“ #!/bin/bash ”来宣告这个文件内的语法使用 bash 的语法! 2、程序内容的说明: 整个 script 当中,除了第一行的“ #! ”是用来宣告 shell 的之外,其他的#都是“注解”用途! 3、主要环境变量的宣告: 建议务必要将一些重要的环境变量设置好,PATH 与 LANG (如果有使用到输出相关的信息时) 是当中最重要的! 4、要养成良好的 script 撰写习惯,在每个 script 的文件开始处记录好:

script 的功能; script 的版本信息; script 的作者与联络方式; script 的 History (历史纪录); script 运行时需要的环境变量预先宣告与设置; script 内较特殊的指令,使用“绝对路径”的方式来下达;

分析:

该出我就偷懒一下,直接放出写好的SHELL内容,至于当中的命令详解可以参考我上篇文章Linux正则过滤命令ifconfig/ip提取IP地址 ,里面有我的SHELL的主要内容。

#!/bin/bash #Program: # Get the ip from ipcofing. #History: #2016/12/19 Tim First release Path=/bin:/sbin:/usr/bin:/usr/sbin:usr/local/bin:usr/local/sbin:~/bin export Path #1/告诉使用者,这程序的用户是从ipconfig命令中获取IP地址 echo "该程序是从命令ifcongfig中获取IP地址:" #2/提示使用者,输入将要查询设备的名字。 read -p "请输入想要查询IP的设备名字:(eth0/eth1/eth2/HELP):" Dev case ${Dev} in "HELP") echo "如果不知道您电脑设备号,可以通过命令/etc/udev/rules.d/70-persistent-net.rules 查看。" exit 1 ;; "") echo "请输入内容,如eh0/eh1/eh2/HELP" exit 1 ;; "eth0") ifconfig eth0 | grep 'inet ' | sed s/^.*addr://g | sed s/Bcast.*$//g ;; "eth1") ifconfig eth1 | grep 'inet ' | sed s/^.*addr://g | sed s/Bcast.*$//g ;; "eth2") ifconfig eth2 | grep 'inet ' | sed s/^.*addr://g | sed s/Bcast.*$//g ;; *) echo "请输入正确的内容!" exit 1 ;; esac 运行结果:

这里写图片描述

总结:

其实,这SHELL作为第一个版本,可以改进的地方还有很多的,例如: 1、输入HELP可以直接帮助用户进行获取用户的设备。 2、输入无论eth0、eth1、eth2…可以利用正则过滤判断是否输入正确内容,不至于用太多case导致case太臃肿。 3、甚至,既然能实现1的改进基础上,可以实现全自动,不需要用户输入任何内容,自动获取用户设备并且进行查询IP。 还有更多的改进,希望读者能踊跃提出来,大家共同学习哈!



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有