Получение MAC-адреса системы: eth0 vs PredictableNetworkInterfaceNames

Я могу продублировать это, только если выполню такой скрипт:

$ echo $path
/usr/local/bin /usr/bin /usr/local/sbin /usr/sbin

$./script.csh
setting path
$ echo $path
/usr/local/bin /usr/bin /usr/local/sbin /usr/sbin

Если вы вместо источник скрипт, вы увидите другое поведение:

$ source script.csh
setting path
$ echo $path
/usr/local/bin /usr/bin /usr/local/sbin /usr/sbin /sbin:/mscc/apps

(Возможно, вы хотите /sbin /mscc/appsс пробелом вместо двоеточия, разделяющим элементы?)

0
20.01.2020, 20:18
1 ответ

Если вам просто нужно получить MAC-адреса для системы и подключиться к интерфейсу, мы можем сделать это с помощью Bash и передать его программе C. Если мы посмотрим в /sys/class/net/*/, то увидим, что имя интерфейса содержится в файле uevent, а MAC-адрес находится в файле address; поэтому мы можем объединить эти два файла вместе для каждого интерфейса. Примечание. :Мой bash не самый красивый, возможно, есть лучший способ сделать это.

[user@headdesk eth0]$ cat /sys/class/net/*/uevent /sys/class/net/*/address | grep -v IFINDEX | column | sed 's/INTERFACE=//'
eth0            fa:16:3e:ac:48:74
lo              00:00:00:00:00:00
0
28.01.2020, 02:54

Теги

Похожие вопросы