获取网卡名称存入数组 对网卡执行相关操作

背景

  由于服务器网卡获取ip异常,需要对做bond网卡进行相关网络操作,

bond网卡操作

正常执行nmlic命令,环境问题对要执行的网卡本身只有四行命令,
为了防止出现多业务网卡和vlan主网卡的情况,这里选择自动获取bond网卡执行相关操作
获取ipv6子接口
# 获取业务网bond网卡,并存入数组
net_arr=$(ip a  |awk -F ":" '/^[1-9]+/{print $2}'|awk -F "@" '{print $1}'|grep bond|grep -Ev 'bond0|bond2')
index=0
for net in $net_arr; do netlist([$i])=$net; let  index=index+1; done
echo ${netlist[*]}   #打印数组所有元素

# 对业务网数组执行ipv6获取操作
for net in ${netlist[*]}
# for循环数组时候,需要用${netlist[*]},单独变量名只能获取一个值
do
if [ ${#net} -eq 5 ] ; then
    echo $net "disable"
    #nmcli c modify $net ipv4.method disabled
    #nmcli c modify $net ipv6.method ignore
fi
done
for net in ${netlist[*]}
do
if [ ${#net} -ne 5 ] ; then
    echo $net "dhcp"
    #nmcli c modify $net ipv6.method dhcp
fi
done
echo 'done'
脚本执行结果

获取网卡名称存入数组 对网卡执行相关操作_第1张图片

你可能感兴趣的:(network,linux,网络,服务器,运维)