Como obter o endereço MAC atual e passá-lo para uma variável no terminal Linux

1

Achei um comando de outro post sobre o Super User que me ajudou, mas não sei como passar a saída para uma variável e imprimi-la.

Este é o comando que usei:

ip addr show $(awk 'NR==3{print $1}' /proc/net/wireless | tr -d :) | awk '/ether/{print $2}'

Meu script completo é:

#!/bin/bash

# Diconnect the network
nmcli d disconnect wlan0

# Down interface
ifconfig wlan0 down

# Randomize my mac address
macchanger -r wlan0

# Up interface
ifconfig wlan0 up

# Connect network again
nmcli d connect wlan0

# Get current mac generated by 'macchanger'
ip addr show $(awk 'NR==3{print $1}' /proc/net/wireless | tr -d :) | awk '/ether/{print $2}'

# Open the web page using current mac generated
xdg-open "http://webapplication.com/?mac=MY_MAC_ADDRES"
    
por Renan Coelho 24.06.2016 / 20:00

1 resposta

1

Isso deve encontrar o MAC para eth0 . Talvez seja necessário alterar essa interface ( eth0 ) para atender às suas necessidades de configuração, mas isso deve funcionar.

DETECTED_MAC_ADDRESS='ifconfig eth0 2>/dev/null|awk '/HWaddr/ {print $5}''
    
por 24.06.2016 / 20:03