bash 脚本获取 MAC 地址并将其粘贴到 HWADDR 之后的 ifconfig 文件中

bash 脚本获取 MAC 地址并将其粘贴到 HWADDR 之后的 ifconfig 文件中

有没有办法从文件中获取 MAC 地址ifconfig并将其附加到文件HWADDRifconfig-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

相关内容