aboutsummaryrefslogtreecommitdiffstats
path: root/generate_mac_address.sh
diff options
context:
space:
mode:
authorSylvain Herlédan <sylvain.herledan@hrafnagud.info>2018-06-19 16:45:13 +0200
committerSylvain Herlédan <sylvain.herledan@hrafnagud.info>2018-06-19 16:45:13 +0200
commita6720a9a2e96ee934229117d17483683a907fd26 (patch)
tree5f55ec062f3c0f790e003b1e4e75259f4158a2ee /generate_mac_address.sh
parentd73c153d64d70e0e4970588b719f306484b0a503 (diff)
downloadadmin_toolbox-a6720a9a2e96ee934229117d17483683a907fd26.tar.gz
admin_toolbox-a6720a9a2e96ee934229117d17483683a907fd26.tar.bz2
admin_toolbox-a6720a9a2e96ee934229117d17483683a907fd26.zip
Add script to generate random MAC addresses.
Diffstat (limited to 'generate_mac_address.sh')
-rwxr-xr-xgenerate_mac_address.sh28
1 files changed, 28 insertions, 0 deletions
diff --git a/generate_mac_address.sh b/generate_mac_address.sh
new file mode 100755
index 0000000..51675c4
--- /dev/null
+++ b/generate_mac_address.sh
@@ -0,0 +1,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