aboutsummaryrefslogtreecommitdiffstats
path: root/generate_mac_address.sh
blob: 51675c472a09ba20905b1b417e7ce1808f8625f4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/bin/bash

# Generate a pseudo-random MAC address for virtual network devices.
#
# Usage:
#   ./generate_mac_address.sh
#
# @author: <sylvain.herledan@hrafnagud.info>
# @date: 2018-06-19

set -o nounset
set -o errexit
set -o pipefail

readonly PROGNAME="$(basename "${0}")";
readonly PROGDIR="$(readlink -f "$(dirname "${0}")")";
readonly ARGS="${@}";

main()
{
  shuf -i 1-127 -n 1 \
    | xargs printf '00:16:3e:%02x'
  shuf -i 1-255 -n 2 \
    | xargs printf ":%02x:%02x\n"
}

main ${ARGS}
exit 0