• 067_查看 KVM 虚拟机中的网卡信息(不需要进入启动或进入虚拟机)


    #!/bin/bash

    #该脚本使用 guestmount 工具,可以将虚拟机的磁盘系统挂载到真实机文件系统中
    #Centos7.2 中安装 libguestfs-tools-c 可以获得 guestmount 工具
    #虚拟机可以启动或者不启动都不影响该脚本的使用
    #将虚拟机磁盘文件挂载到文件系统后,就可以直接读取磁盘文件中的网卡配置文件中的数据

    #建立挂载点
    clear
    mountpoint="/media/virtimage"
    [ ! -d $mountpoint ]&& mkdir $mountpoint

    read -p "输入虚拟机名称:" name
    echo "请稍后..."
    #如果有设备挂载到该挂载点,则先 umount 卸载
    if mount | grep -q "$mountpoint" ;then
        umount $mountpoint
    fi

    #只读的方式,将虚拟机的磁盘文件挂载到特定的目录下,这里是/media/virtimage 目录
    guestmount -r -d $name -i $mountpoint
    echo
    echo "--------------------------------------------"
    echo -e "33[32m$name 虚拟机中网卡列表如下:33[0m"
    dev=$(ls /media/virtimage/etc/sysconfig/network-scripts/ifcfg-* |awk -F"[/-]" '{print $9}')

    # ls查看绝对路径
    # awk -F"[/-]" 以/或者-为分隔符 分割/media/virtimage/etc/sysconfig/network-scripts/ifcfg-*
    # {print $8} == ifcfg {print $9} == eth0..

    echo $dev #输出网卡名
    echo "--------------------------------------------"
    echo 
    echo
    echo "+++++++++++++++++++++++++++++++++++++++++++"
    echo -e "33[32m 网卡 IP 地址信息如下:33[0m"
    for i in $dev
    do
          echo -n "$i:"
          grep -q "IPADDR" /media/virtimage/etc/sysconfig/network-scripts/ifcfg-$i || echo "未配置 IP 地址"

    # grep -q "IPADDR" 查找eth0..内包含IPADDR的行 静默输出
    # IPADDR=192.168.4.5

          awk -F"=" '/IPADDR/{print $2}' /media/virtimage/etc/sysconfig/network-scripts/ifcfg-$i

    # awk -F"=" '/IPADDR/  以"="分割,包含/IPADDR/的行,输出$2

    done
    echo "+++++++++++++++++++++++++++++++++++++++++++"

  • 相关阅读:
    建表
    第5讲:控制语句
    第4讲:函数
    第1讲:面向对象
    野路子小白安装黑苹果 OpenCore引导 @a.宏万
    野路子学习esp32(十九)ESP32-Arduino 第二篇 智能孵化器 @a.宏万
    野路子学习esp32(十八)ESP32-Arduino 第一篇 @a.宏万
    野路子学习esp32(十七)ESP32-MicroPython OLED AND DHT11 @a.宏万
    野路子学习esp32(十六) MQTT与ESP32-MicroPython @a.宏万
    野路子学习esp32(十五) 1z实验室 EMP项目@a.宏万
  • 原文地址:https://www.cnblogs.com/luwei0915/p/10518306.html
Copyright © 2020-2023  润新知