首页 > 系统相关 >shell获取ip的方式

shell获取ip的方式

时间:2025-01-15 11:54:22浏览次数:1  
标签:shell ip route tr dev 获取 数组 array

1、以函数获取ip的案例

1)构建函数
function get_ip(){函数体 }
这个function关键字用于定义一个名为get_ip的函数

2)解析默认路由
array=($(echo "$route" | tr ' ' ' '))

array=($(/usr/sbin/ip route | tr ' ' ' '))


这个命令将route变量的内容转换为一个数组array,tr ' ' ' ' 用于将多个连续的空格替换为单个空格,确保数组的分割正确

ps:这里插入一个列出系统路由表的脚本,因为我想看array排列后的内容,其中/usr/sbin/ip route 可以用$route代替,但我的虚拟机操作系统是openeuler2203的x86,执行echo "$route"无任何输出

点击查看代码
array=($(/usr/sbin/ip route | tr ' ' ' '))
for element in "${array[@]}";do
    echo "$element";
done
@:当用在数组变量的上下文中时,@ 代表数组中的所有元素。在循环中使用 @ 可以遍历数组的每个元素。

3)查找设备名称
dev=""
初始化一个空字符串dev,用于存储找到的设备名称
for i in $(seq 0 $(( ${#array[@]} -1)));do
使用for循环遍历数组array的索引,生成从0到数组长度减1的序列,确保遍历数组的每个元素
if [[ "${array[i]}" == "dev" ]];then
使用 if 语句检查当前元素是否等于 "dev"。[[ "${array[i]}" == "dev" ]] 是条件表达式,用于比较字符串。注意,条件表达式以 [[ 开始,以 ]] 结束,并且中间有空格

点击查看代码
#!/bin/bash

dev=""
for i in $(seq 0 $(( ${#array[@]} - 1))); do
    if [[ "${array[i]}" == "dev" ]]; then
        dev="${array[i+1]}"
        break
    fi
done
echo "Device: $dev"

标签:shell,ip,route,tr,dev,获取,数组,array
From: https://www.cnblogs.com/songzy72/p/18672744

相关文章

  • Pip - Installing plotly stuck
    pipinstall-ihttps://pypi.org/simplepackage_namepipinstall-ihttps://pypi.python.org/simplepackage_namepipinstall-ihttps://pypi.tuna.tsinghua.edu.cn/simplepackage_name (duckdb_penv)frank@ZZHPC:/mnt/d/ZZHUBT/workspace/duckdb_penv$pipinstall......
  • 2025年最新300个计算机专业毕业设计题目推荐资料获取
    计算机毕业设计案例Java毕业设计案例ASP.NET毕业设计案例PHP毕业设计案例微信小程序毕业设计案例基于Java的软件下载网站的建设基于c#的学生成绩系统–2024计算机毕业设计基于PHP的弘毅智学网基于微信小程序的西安财经大学体质测试管理系统基于Java的职业规划系统的设......
  • 实现网页倒计时跳转的JavaScript代码
    在网页开发中,倒计时跳转功能常用于广告页面、活动倒计时或页面跳转提示等场景。下面是一个简单的JavaScript实现,用于在指定时间后自动跳转到另一个页面。该代码会在页面上显示倒计时,并在倒计时结束后跳转到指定的URL。代码实现<spanclass="time"></span><script>var......
  • 怎么使用HTML5来获取定位?定位不准怎么解决?
    在HTML5中,你可以使用GeolocationAPI来获取用户的地理位置。以下是一个简单的示例,展示了如何使用这个API:<!DOCTYPEhtml><html><body><p>点击按钮获取您的地理位置。</p><buttononclick="getLocation()">获取位置</button><pid="demo"></p>......
  • 百度热力图数据获取,原理,处理及论文应用4
    目录0、数据简介0、示例数据1、百度热力图数据日期如何选择1.1、其他实验数据的时间1.2、看日历1.3、看天气2、百度热力图几天够研究?部分文章统计3、数据原理3.1.1==**这个比较重要,后面还会再次出现。核密度的值怎么理解?**==3.1.2Csv->shp->tif是常规的数据处理流程,......
  • 获取所有绑定的物流账号
    获取所有绑定的物流账号调试工具接口应在服务器端调用,详细说明参见服务端API。本接口支持云调用。需开发者工具版本>=1.02.1904090(最新稳定版下载),wx-server-sdk>=0.4.0接口说明接口英文名getAllAccount功能描述该接口用于获取所有绑定的物流账号。调用方式HTTP......
  • a标签下的href="javascript:void(0)"起到了什么作用?说说你对javascript:void(0)的理解
    在前端开发中,a标签通常用于创建链接,其href属性指定了链接的目标地址。然而,有时我们可能希望创建一个看起来像链接的元素,但实际上并不导航到任何其他页面或重新加载当前页面。这时,href="javascript:void(0)"就派上了用场。javascript:void(0)的作用主要是阻止链接的默认行为......
  • 获取支持的快递公司列表
    获取支持的快递公司列表调试工具接口应在服务器端调用,详细说明参见服务端API。本接口支持云调用。需开发者工具版本>=1.02.1904090(最新稳定版下载),wx-server-sdk>=0.4.0接口说明接口英文名getAllDelivery功能描述该接口用于获取支持的快递公司列表。调用方式HTT......
  • 获取预授权码
    onPreAuthCodeGet本文档描述服务器端接收的消息或事件,详细说明参见消息推送。获取预授权码消息参数Object属性类型说明ToUserNamestring快递公司小程序UserNameFromUserNamestring微信团队的OpenID(固定值)CreateTimenumber事件时间,Unix时间戳Ms......
  • 获取微信红包封面
    获取微信红包封面调试工具接口应在服务器端调用,详细说明参见服务端API。本接口支持云调用。需开发者工具版本>=1.02.1904090(最新稳定版下载),wx-server-sdk>=0.4.0接口说明接口英文名getRedPacketCoverUrl功能描述本接口用于获得指定用户可以领取的红包封面链接。......