web-dev-qa-db-ja.com

ネットワークカードのMACアドレスを取得する簡単な方法

ネットワークカードのMacアドレスを含むスクリプトをたくさん使用しています。読み取ることができるファイルや、Macアドレスを取得するために使用できるコマンドはありますか?ヘッダーなどは必要ありません。Macアドレスを持つ1行の出力だけが必要です。ログイン時に環境変数として設定したいのですが。 Arch Linuxx64を使用しています

4
Wolfizen
 VARIABLE="$(cat /sys/class/net/$IFACE/address)"

それをもっと簡単にするのは難しいです。

まあ、実際には:

 read -r MACADDRESS < /sys/class/net/$iFACE/address

さらに単純で、追加のプロセスを開始しません。

8
BatchyX

これは私にとってはうまくいきます。おそらく少し最適化することができます:

/sbin/ifconfig eth0 | grep -o 'HWaddr  *[0-9A-F:]*' | sed -s 's/HWaddr *//'

これからはあまり単純化できないと思います。 ifconfigでstraceを実行しましたが、/ procファイルからではなく、ソケットでioctl()を使用してMACアドレスをプルしているようです。

0
Rich Homolka