有没有办法从文件中获取 MAC 地址ifconfig
并将其附加到文件HWADDR
中ifconfig-eth0
?我已使用awk
命令来显示 MAC 地址,但无法弄清楚如何保存该信息并将其粘贴到ifconfig-eth0
文件中。
答案1
您应该只从 /sys 数据的内容中设置变量,而不是解析 ifconfig 的输出(默认情况下甚至可能不会安装):
MACADDR=$(cat /sys/class/net/eth0/address)
然后你就可以
echo “HWADDR=$MACADDR” >> /etc/sysconfig/network-scripts/ifcfg-eth0
这是假设您还没有 HWADDR 行,否则您需要使用 sed。
答案2
您可以通过以下方式获取 eth0 的 MAC 地址:
$ ifconfig eth0 | awk '/ether/ {print $2}'
其中:
ifconfig eth0
仅显示给定的网络设备
awk '/ether/ {print $2}'
寻找“ether”并打印匹配行中的第二列
--
什么是ifconfig-eth0 文件?
ed:前者$ ifconfig | awk '/^eth0/ {getline;print $2}'
实际上只适用于未连接的 eth0,所以正确的现在在上面。
答案3
尝试使用以下命令,效果很好
k=`ifconfig -a |awk '/HWaddr/{print $NF}'`
sed -i "/HWADDR/s/=.*/=$k/g" /etc/sysconfig/network-scripts/ifcfg-eth0