GNU/Linux >> Linux の 問題 >  >> Linux

シェル スクリプトを使用して MAC アドレスを取得する

Linux 固有の最善の解決策は、sysfs を使用することです:

$ IFACE=eth0
$ read MAC </sys/class/net/$IFACE/address
$ echo $IFACE $MAC
eth0 00:ab:cd:12:34:56

このメソッドは他のメソッドに比べて非常にクリーンで、read 以降、追加のプロセスを生成しません。 非 BASH シェルを含む POSIX シェル用の組み込みコマンドです。ただし、OS X への移植性が必要な場合は、ifconfig を使用する必要があります。 と sed OS X には sysfs のような仮想ファイルシステム インターフェイスがないためです。


次のようにできます

ifconfig <Interface ex:eth0,eth1> | grep -o -E '([[:xdigit:]]{1,2}:){5}[[:xdigit:]]{1,2}'

また、次のようにすべてのインターフェイスの MAC を取得できます

cat /sys/class/net/*/address

eth0 などの特定のインターフェイスについて

cat /sys/class/net/eth0/address

Linux
  1. 独自のIPアドレスを取得し、シェルスクリプトの変数に保存する方法は?

  2. WiFi ネットワーク インターフェイスの MAC アドレスを取得する方法を教えてください。

  3. シェル スクリプトで関数名のリストを取得する

  1. シェルスクリプトを使用して HTML メールを送信する

  2. シェル スクリプトを使用してデータベース接続を確認する

  3. シェルスクリプトを使用して再帰的にフォルダーを作成することは可能ですか?

  1. bcを使用せずにシェルスクリプトで丸められたパーセンテージを計算する

  2. スプーフィングされた MAC アドレスで iproute2 ip link コマンドを使用して、仮想ネットワーク インターフェイスを作成します。

  3. シェル スクリプトで外部 IP アドレスを取得するにはどうすればよいですか?