首页 > 其他分享 >N77007-BJ-DUYIFAN-Week2.1

N77007-BJ-DUYIFAN-Week2.1

时间:2023-06-07 13:11:27浏览次数:37  
标签:nmcli show ip Week2.1 接口 N77007 connection BJ id

1. 运行脚本可以显示出本机的ip地址

思路:

  查询ip地址的命令有ip a, hostname -i, cat /etc/NetworkManager/system-connections/INTERFACE, nmcli connection show INTERFACE 等等。个人认为除ip地址外,DNS和网关地址也较为重要,所以计划制作脚本展示IP地址、DNS和网关地址,同时制作出该脚本的软连接文件showint,存入/usr/bin中,制作成命令方便查询。

  nmcli connection show INTERFACE 查询出来的结果比较全,所以决定选择该命令进行筛选。

  show后面需要使用接口id来查询,所以需要提取接口id作为变量写入命令,但考虑每台服务器设置的接口id不一定和接口名称一致,所以计划通过nmcli connection show获取第一列的接口id。

  获取第一列的接口id时发现可能会出现一些无用信息行干扰获取结果,例如bond-slave-eth0从接口,所以计划利用行尾末列的接口名称进行筛选。

  而获取接口名称的方法是利用ip a进行提取,查看所有信息时发现,同时有inet和brd信息的行尾存在有效的接口名称(不包括loop接口等)。

根据以上思路分析,生成以下bash脚步:

#!/bin/bash
IPADDR(){
    ip a | sed -n '/brd/p' | sed -nr '/inet/s#.*inet (.*) brd.*#\1#p'
}

ETHNAME(){
    ip a | sed -n '/brd/p' | sed -n '/inet/p' | awk '{print $NF}'
}

GETID(){
NAMELIST=$(ETHNAME)
for NAME in $NAMELIST; do
    nmcli connection show | awk -v var=$NAME '$NF==var{print $1}';
done
}

FIN(){
IDLIST=$(GETID)
for i in $IDLIST; do
    nmcli connection show $i | grep -e interface-name -e ipv4.gateway -e ipv4.addresses -e ipv4.dns:
    echo -e \\n;
done
}

FIN

 

 

标签:nmcli,show,ip,Week2.1,接口,N77007,connection,BJ,id
From: https://www.cnblogs.com/n77007-bj-duyifan/p/17463030.html

相关文章

  • 你还在用Object.equals()方法吗?
    前言当《阿里巴巴Java开发手册》发布后,我也是仔细进行了阅读,想从中找出一些“标准”,让自己的代码质量提高。手册中对Object的equals方法的使用进行了强制,而且推荐使用JDK7中工具类Objects的equals方法,至此之后我就很少使用Object.equals()方法了。一、Java开发手册......
  • variable-sized object may not be initialized
    #include<stdio.h>intmain(void){intN;scanf("%d",&N);inta[N]={0};//错误在这,可以用变量定义数组,但不能初始化for(inti=0;i<N;++i){scanf("%d",&a[i]);}intM,sum=0;scanf("%d",&......
  • [重读经典论文] RetinaNet——Focal Loss for Dense Object Detection
    1.前言这篇论文也是何凯明的团队在2017年的论文《FocalLossforDenseObjectDetection》中提出的,网络架构魔改了FPN,因此这篇论文的重点是提出了新的分类Loss——FocalLoss,用一个合适的函数,去度量难分类和易分类样本对总的损失函数的贡献。解决了传统交叉熵损失函数因为类别......
  • linux tool objdump
    NAMEobjdump-displayinformationfromobjectfiles.SYNOPSISobjdump[-a|--archive-headers][-bbfdname|--target=bfdname][-C|--demangle[=style]][-d|--disassemble][-D|--disa......
  • 判断非String对象是否为null,小伙竟然用StringUtils.isEmpty(obj+"")
    我在代码走查时,发现下面的代码。其中Line133行的StringUtils.isEmpty(levyId+"")引起了我的注意。levyId是Long,你这样判断Long是否为null,靠谱吗?  答案是:不靠谱!当levyId是null时,levyId+""的值是什么?是字符串null哟~~显然,StringUtils.isEmpty("null")是false。所以,还是老......
  • [Libjingle 0.4]编译Libjingle 0.4+Linphone Voice Engine的总结之一
    在Windows下编译Libjingle0.4+LinphoneVoiceEngine时候会遇到一些问题,下面整理了一下,当然并不是所有的patch都有用的.http://code.google.com/p/libjingle/issues/detail?id=16***64-bit.patch******ortp.patch******gcc4.patch******libjingle-fileshare.patc......
  • Step by Step about How to Build libjingle 0.4
    [b]1.DownloadandInstallVisualC++2010Express[/b][url]http://www.microsoft.com/express/Downloads/#2010-Visual-CPP[/url][b]2.DownloadandinstallbinarypackageforExpat[/b]http://sourceforge.net/projects/expat/files/expat_......
  • N77007-BJ-DUYIFAN-Week1.6
    用自己的理解总结文件管理,用户管理,组用户,权限管理相关的命令。文件:【touch/rm/rmdir/cat/head/less/more】。用户及组:user/group【useradd/userdel/usermode;groupadd/groupdel/groupmod;chsh/...】。权限【chmod/chown/setfacl】"文件:touch:touch可以和{}合起来用,例......
  • N77007-BJ-DUYIFAN-Week1.4
    切换到/etc/目录,列出fstab文件的详细信息,详细解决fstab一行,每个或每几个字符的详细含义。【cd/etc;ls-l/etc/fstab】[root@bj1-rocky-0-131etc]#llfstab-rw-r--r--.1rootroot661May 613:32fstab从左到右-:文件类型,普通文件r:user的读权限(有)二进制100(十进制4)w:u......
  • N77007-BJ-DUYIFAN-Week1.5
    简要说明FHS结构。/bin/:存放系统命令,普通用户和root用户都可以执行。放在/bin下的命令在单用户模式下也可以执行/boot/:系统启动目录,保存与系统启动相关的文件,如内核文件和启动引导程序(grub)文件等/dev/:设备文件保存位置/etc/:配置文件保存位置。系统内所有采用默认安装方式(rpm安......