VARIABLE="$(cat /sys/class/net/$IFACE/address)"
É difícil fazer isso de maneira mais simples.
Bem, na verdade:
read -r MACADDRESS < /sys/class/net/$iFACE/address
é ainda mais simples e não inicia nenhum processo adicional.
Eu uso muitos scripts que envolvem os endereços Mac das minhas placas de rede. Existe um arquivo que eu possa ler ou um comando que eu possa usar para obter apenas o endereço MAC? Não quero cabeçalhos nem nada, apenas 1 linha de saída que possui o endereço Mac. Eu gostaria de definir isso como uma variável de ambiente no login. Eu uso o Arch Linux x64
Isso funciona para mim. Provavelmente pode ser otimizado um pouco:
/sbin/ifconfig eth0 | grep -o 'HWaddr *[0-9A-F:]*' | sed -s 's/HWaddr *//'
Eu não acho que você possa simplificar muito isso. Eu fiz um strace
no ifconfig, e parece que você puxa o addr MAC com um ioctl () em um soquete, não de um arquivo / proc.