MACアドレス生成のパフォーマンスを向上させるには?

MACアドレス生成のパフォーマンスを向上させるには?

私のスクリプトでは、MACアドレスをランダムに生成する必要があります。以下のコードは大きなスクリプトから抽出されたため、MACアドレスの計算は別の関数にあります。

これは以下のコードでうまく機能します。スクリプトを実行すると、複数のアドレスを生成した後に非常に遅くなります。

どうやってできるか加速する有効なMACアドレスを生成しますか?

#!/bin/bash

devicesCSVMacAddress="55:2d:fa:07" # <- fake MAC address prefix
devicesCSVFile=''

function mac_address() {
    line=''


    # ****************
    # This line below when I calculate a random mac address ending seems to be slow
    line+=$devicesCSVMacAddress$(od -txC -An -N2 /dev/random|tr \  :)
    # ****************


    devicesCSVFile+=$line'\n'
    date
}

for (( i=0; i<100; i++ ))
do
    mac_address
    echo $i
done

echo -e $devicesCSVFile > devices.csv

この回答の説明に従ってodツールを使用しました。Bashシェルを使用して有効なランダムMACアドレスを生成する方法

ベストアンサー1

使用/dev/urandom!使用する理由はいくつかあります/dev/random/dev/urandom参考ランダムに関する神話または/dev/random と /dev/urandom を使用する場合- 生成された数字をどこにでも投稿する場合は、確かにそうではありません。

/dev/random利用可能なエントロピーが十分でない場合は、エントロピーを消費し、ブロックして待機します。/dev/urandom絶対にブロックしないでください。

おすすめ記事