Я использую множество сценариев, в которых используются адреса Mac моих сетевых карт. Есть ли файл, который я могу прочитать, или команда, которую я могу использовать, чтобы ПРОСТО получить адрес Mac? Я не хочу никаких заголовков или чего-то еще, только 1 строка вывода, которая имеет адрес Mac. Я хотел бы установить это как переменную окружения при входе в систему. Я использую Arch Linux x64
2 ответа
7
VARIABLE="$(cat /sys/class/net/$IFACE/address)"
Сложнее сделать это проще.
А на самом деле:
read -r MACADDRESS < /sys/class/net/$iFACE/address
еще проще и не запускает никакого дополнительного процесса.
0
Это работает для меня. Возможно, можно немного оптимизировать:
/sbin/ifconfig eth0 | grep -o 'HWaddr *[0-9A-F:]*' | sed -s 's/HWaddr *//'
Я не думаю, что вы можете сильно упростить это из этого. Я сделал strace
на ifconfig, и кажется, что вы извлекаете MAC-адрес с помощью ioctl() на сокете, а не из файла /proc.