1.为了成对统计电脑的网卡和IP,本人实现的一种方法:
#!/bin/bash
#先过滤网卡名称,存到数组a中
a=(`ifconfig | grep ^[a-z] | awk -F: '{print $1}'`)
#在拿到IP地址,存到数组b中
b=(`ifconfig | grep 'inet' | sed 's/^.*inet //g' | sed 's/ *netmask.*$//g'`)
for ((i=0;i<6;i++))
do
echo ${a[$i]} ${b[$i]}
done
2.通过数组长度组合内容(升级版)
#!/bin/bash
#先过滤网卡名称,存到数组a中
a=(`ifconfig | grep ^[a-z] | awk -F: '{print $1}'`)
#在拿到IP地址,存到数组b中
b=(`ifconfig | grep 'inet' | sed 's/^.*inet //g' | sed 's/ *netmask.*$//g'`)
for ((i=0;i<${#a[@]};i++))
do
echo ${a[$i]} ${b[$i]}
done
利用@或*,可以将数组扩展成列表,然后使用#来获取数组元素的个数,格式如下:
${#array_name[@]}
${#array_name[*]}
是不是有其它更好的方式,欢迎贴到评论区!