MACアドレスを取得し、HWADDRの後のifconfigファイルに貼り付けるbashスクリプト

MACアドレスを取得し、HWADDRの後のifconfigファイルに貼り付けるbashスクリプト

ファイルからMACアドレスを取得してファイルifconfigに追加する方法はありますか?コマンドを使用してMACアドレスを表示しましたが、その情報を保存してファイルに貼り付ける方法はわかりません。HWADDRifconfig-eth0awkifconfig-eth0

答え1

ifconfigの出力を解析する代わりに、/ sysデータの内容にのみ変数を設定する必要があります(デフォルトではインストールされていない可能性があります)。

MACADDR=$(cat /sys/class/net/eth0/address)

それではあなたはできます。

echo “HWADDR=$MACADDR” >> /etc/sysconfig/network-scripts/ifcfg-eth0

まだHWADDRラインがないと仮定します。それ以外の場合はsedを使用する必要があります。

答え2

次の方法で eth0 の MAC アドレスを取得できます。

$ ifconfig eth0 | awk '/ether/ {print $2}'

場所: ifconfig eth0指定されたネットワークデバイスのみを表示

awk '/ether/ {print $2}'「ether」を見つけて、一致する行の2番目の列を印刷します。

-

何ですかifconfig-eth0 ファイル

ed:前者は$ ifconfig | awk '/^eth0/ {getline;print $2}'実際には接続されていないeth0でのみ動作するので、正しいものが上にあります。

答え3

次のコマンドを試してください。素晴らしい作品。

k=`ifconfig -a |awk '/HWaddr/{print $NF}'`
sed -i "/HWADDR/s/=.*/=$k/g" /etc/sysconfig/network-scripts/ifcfg-eth0

関連情報