#!/bin/sh # MAC地址恢复脚本 # 从vendor_storage读取MAC地址并恢复到/etc/network/interfaces # 保持大写格式 INTERFACES_FILE="/etc/network/interfaces" # 从vendor_storage读取MAC (hex格式) MAC_HEX=$(vendor_storage -r VENDOR_LAN_MAC_ID -t hex 2>/dev/null | \ grep -A1 "VENDOR_LAN_MAC_ID:" | tail -1 | \ awk '{print $2$3$4$5$6$7}' | tr 'a-f' 'A-F') if [ -n "$MAC_HEX" ] && [ ${#MAC_HEX} -eq 12 ]; then # 转换为标准MAC格式: 90A9F7300001 -> 90:A9:F7:30:00:01 MAC_ADDR=$(echo $MAC_HEX | sed 's/../&:/g;s/:$//') # 更新interfaces文件 if grep -q "hwaddress ether" $INTERFACES_FILE; then sed -i "s/hwaddress ether .*/hwaddress ether $MAC_ADDR/" $INTERFACES_FILE echo "MAC address updated: $MAC_ADDR" else # 在eth0配置后添加MAC地址 sed -i "/iface eth0 inet/a \ hwaddress ether $MAC_ADDR" $INTERFACES_FILE echo "MAC address added: $MAC_ADDR" fi echo "MAC address restored from vendor_storage: $MAC_ADDR" exit 0 else echo "Warning: No valid MAC address in vendor_storage" exit 1 fi