#!/bin/bash
# 这个脚本可能不是很管用
# ./MY_NETWORK_CARD|sed -n 9p
# 或者 ./MY_NETWORK_CARD > /opt/i8520/lock/wk.txt
# cat /opt/i8520/lock/wk.txt|sed -n 9p
#----------------------------
# 引入功能脚本
#----------------------------
MY_USER_DIR=`/opt/i8520/MY-USER-PWD 1`
MY_USER_NAME=`/opt/i8520/MY-USER-PWD`
MY_Desktop=`/opt/i8520/MY-Desktop`
CMD_MY_TERMINAL=`/opt/i8520/MY_TERMINAL TERMINAL`
CMD_MY_INTERNET_W=`/opt/i8520/MY_TERMINAL 1`
CMD_MY_INTERNET_N=`/opt/i8520/MY_TERMINAL`
#/opt/i8520/CCCX
MY_TMP='/opt/i8520/lock'
Network_card_device_name(){
#-----------------------------
# 获取网卡设备名称 cat /proc/net/dev
# ens 一般是在虚拟机中
# enp 一般是在物理机中
# wl  一般是无线网卡
#-----------------------------

A=`cat /proc/net/dev | grep 'enp'    | sed 's/^[ ]*//g' | sed 's@:[^ ]*@@g' | sed "s/ .*$//"`
B=`cat /proc/net/dev | grep 'ens'    | sed 's/^[ ]*//g' | sed 's@:[^ ]*@@g' | sed "s/ .*$//"`
C=`cat /proc/net/dev | grep 'wl'     | sed 's/^[ ]*//g' | sed 's@:[^ ]*@@g' | sed "s/ .*$//"`
E=`cat /proc/net/dev | grep 'docker' | sed 's/^[ ]*//g' | sed 's@:[^ ]*@@g' | sed "s/ .*$//"`
echo "当前网卡设备名称"
echo "处于虚拟机-->有线网卡:${B}"
echo "处于物理机-->无线网卡:${C}"
echo "处于物理机-->有线网卡:${A}"
echo "docker容器虚拟网卡:${E}"
echo "========================================"
echo "当前IP-->${CMD_MY_INTERNET_N}"
echo "正在读取已联网，网卡设备名称..."

#-----------------------------
# 判断无线网卡部分 
#-----------------------------
Network_WL(){
         Network_NAME_B=`cat /proc/net/dev | grep 'wl' | sed 's/^[ ]*//g' | sed 's@:[^ ]*@@g' | sed "s/ .*$//"`
         Network_I_A_WL=`cat /proc/net/dev | grep 'wl' | awk '{print $2}'`
         sleep 3
         Network_I_B_WL=`cat /proc/net/dev | grep 'wl'|awk '{print $2}'`
         if [[ ! X${Network_I_A_WL} = X${Network_I_B_WL} ]];then
             #echo -e "无线-->网卡设备名称${Network_NAME_B}\n正在验证数据流..."
             #echo ${Network_I_A_WL}
             #echo ${Network_I_B_WL}
             echo ${Network_NAME_B}
         else
             echo "ERR-请检查是否已联网"
         fi
}
#-----------------------------
# 通过获取 /proc/net/dev 
# 读取数据流的变化 来判断这个网卡是否在使用
#-----------------------------
Network_F="0"
Network_A=`cat /proc/net/dev | grep 'ens' | wc -l`
if [[ ! X${Network_F} = X${Network_A} ]];then
     Network_NAME_A=`cat /proc/net/dev | grep 'ens' | sed 's/^[ ]*//g' | sed 's@:[^ ]*@@g' | sed "s/ .*$//"`
     Network_I_A_A=`cat /proc/net/dev | grep 'ens'|awk '{print $2}'`
     #下面不要动 sleep 3 用来判断 两次数据流是否一样
     sleep 3
     Network_I_A_B=`cat /proc/net/dev | grep 'ens'|awk '{print $2}'`
     if [[ ! X${Network_I_A_A} = X${Network_I_A_B} ]];then
         #echo -e "有线-->网卡设备名称${Network_NAME_A}\n正在验证数据流..."
         #echo ${Network_I_A_A}
         #echo ${Network_I_A_B}
         echo ${Network_NAME_A}
     else
         #判断是否使用无线网卡
         #有线或无线都没有网络，默认输出有线晚卡名字
         ERR_AA=`Network_WL`
         ERR_BB="ERR-请检查是否已联网"
           if [[ ! X${ERR_BB} = X${ERR_AA} ]];then
              Network_WL
           else
              echo "${Network_NAME_A}"
           fi
     fi
else
    Network_NAME_C=`cat /proc/net/dev | grep 'enp' | sed 's/^[ ]*//g' | sed 's@:[^ ]*@@g' | sed "s/ .*$//"`
    Network_I_B_A=`cat /proc/net/dev | grep 'enp'|awk '{print $2}'`
    #下面不要动 sleep 3 用来判断 两次数据流是否一样
    sleep 3
    Network_I_B_B=`cat /proc/net/dev | grep 'enp'|awk '{print $2}'`
      if [[ ! X${Network_I_B_A} = X${Network_I_B_B} ]];then
        #echo -e "有线-->网卡设备名称${Network_NAME_C}\n正在验证数据流..."
        #echo ${Network_I_B_A}
        #echo ${Network_I_B_B}
        echo ${Network_NAME_C}
      else
         #判断是否使用无线网卡
         #有线或无线都没有网络，默认输出有线晚卡名字
         ERR_AA_A=`Network_WL`
         ERR_BB_B="ERR-请检查是否已联网"
           if [[ ! X${ERR_BB_B} = X${ERR_AA_A} ]];then
              Network_WL
           else
              echo "${Network_NAME_C}"
           fi
     fi
fi

}

# Network_card_device_name >${MY_TMP}/wk.txt
Network_card_device_name
exit 0

